oracle 跟踪会话

联系:手机/微信(+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

One thought on “oracle 跟踪会话

  1. 1、开启会话跟踪
    alter session set events
    '10046 trace name context forever,level 4';
    2、关闭会话跟踪
    alter session set events
    '10046 trace name context off';
    
  2. oradebug操作

    --也可以设置当前会话SETMYPID
    SQL> oradebug SETORAPID 15
    Unix process pid: 14851, image: oracle@xifenfei (TNS V1-V3)
    SQL> oradebug EVENT 10046 TRACE NAME CONTEXT FOREVER, LEVEL 4
    Statement processed.
    --(其他)会话操作
    SQL> oradebug EVENT 10046 trace name context off
    Statement processed.
    SQL> oradebug TRACEFILE_NAME
    /u01/oracle/admin/xifenfei/udump/xff_ora_14851.trc
    
  3. 跟踪会话方法

    --  For 8i and 9i:
    alter session set sql_trace=true;
    --  For 10g (sql_trace being deprecated):
    execute dbms_monitor.session_trace_enable
    
    --  For 8i and 9i:
    alter session set sql_trace=false;
    --  For 10g (sql_trace being deprecated):
    execute dbms_monitor.session_trace_disable
    

发表评论

邮箱地址不会被公开。 必填项已用*标注

17 + 3 =