联系:手机/微信(+86 17813235971) QQ(107644445)
标题:oracle 跟踪会话
作者:惜分飞©版权所有[未经本人同意,不得以任何形式转载,否则有进一步追究法律责任的权利.]
一、跟踪自己的会话或者是别人的会话
1、跟踪自己的会话很简单
Alter session set sql_trace true|false;
或者
exec dbms_session.set_sql_trace(true/false);
2、如果跟踪别人的会话,需要调用一个包
exec dbms_system.set_sql_trace_in_session(sid,serial#,true|false);
二、整个数据库系统跟踪
1、开启会话跟踪
alter system set events
‘10046 trace name context forever,level 1’;
2、关闭会话跟踪
alter system set events
‘10046 trace name context off’;
3、跟踪会话级别
level 1:跟踪SQL语句,等于sql_trace=true
level 4:包括变量的详细信息
level 8:包括等待事件
level 12:包括绑定变量与等待事件
4、说明:在11g中已经不推荐使用
alter system set sql_trace=true;
alter system set sql_trace=false;
三、查看跟踪文件
1、查看跟踪文件位置(当前会话)
select d.value||'/'||lower(rtrim(i.instance,chr(0)))||'_ora_'||p.spid||'.trc' trace_file_name from (select p.spid from v$mystat m, v$session s,v$process p where m.statistic# = 1 and s.sid = m.sid and p.addr = s.paddr ) p, (select t.instance from v$thread t,v$parameter v where v.name = 'thread' and(v.value = 0 or t.thread# = to_number(v.value))) i, (select value from v$parameter where name = 'user_dump_dest') d;
2、tkprof格式化跟踪文件
tkprof trace_file_name out_file
oradebug操作
跟踪会话方法
指定跟踪会话标志