您的位置:首页 > 其它

10046事件跟踪(10053)

2018-02-01 09:27 423 查看
前提:

1)、必须确保timed_statistics为TRUE,这个参数可以在会话级上进行修改。

2)、为了确保trace输出能够完整进行,还要调整此会话对trace文件大小的限制,一般将此限制取消,即将max_dump_file_size设置为UNLIMITED,或者设置为一个很大的阙值。

1、跟踪本会话:

set line 300;

set arraysize 1000;

select userenv('sid') from dual;

select p.SPID, s.SID, s.SERIAL#, p.INST_ID  from Gv$process p, Gv$session s where s.PADDR = p.ADDR  and s.SID = userenv('SID') and p.INST_ID = s.INST_ID;

set autotrace traceonly;

set timing on;

alter session set events '10046 trace name context forever ,level 12' ;

--alter session set events '10053 trace name context forever ,level 2' ;

执行sql或存储过程

alter session set events '10046 trace name context off' ;

--alter session set events '10053 trace name context off' ;

SQL> show parameter background_dump_dest

到该目录找到生成的trc后缀的trace文件。

tkprof   tracfilename.trc   tracfilename.txt  (格式处理为易读格式)

2、跟踪其他指定会话:

----指定跟踪SESSION的SPID(OS process)

oradebug setospid 20336

oradebug unlimit

oradebug event 10046 trace name context forever,level 12

经过一段时间后关闭10046

oradebug event 10046 trace name context off;

exec dbms_system.set_ev(30,24167,10046,12,'');

找出进程的sid和serial,然后对他们设置10046事件:

SQL> select sid,serial# from v$session where sid in (30,37);

       SID    SERIAL#

---------- ----------

        30      24167

        37       2707

SQL> exec dbms_system.set_ev(30,24167,10046,12,'');

SQL> exec dbms_system.set_ev(37,2707,10046,12,'');
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  10046  10053 会话跟踪