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,'');
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,'');
相关文章推荐
- 执行计划+Hint+统计信息+并行+绑定变量+sql跟踪和10046事件+10053事件总结
- 10053、10046跟踪事件学习
- 10046事件与10053事件
- Oracle sql_trace 10046事件 10053事件笔记
- Oracle SQL Trace 和 10046 事件跟踪
- 10046诊断事件——跟踪SQL语句!
- 10046 事件跟踪
- 设置10053跟踪SQL执行计划过程选择事件
- 演示使用sql_trace和10046事件对其他会话进行跟踪,并给出trace结果
- 10046 事件 与 10053 事件
- Oracle SQL Trace 和 10046 事件跟踪
- Oracle的10046事件跟踪简述
- 10046事件跟踪会话sql
- SQL Tuning 基础概述03 - 使用sql_trace和10046事件跟踪执行计划
- Oracle SQL Trace 和 10046 事件跟踪
- 详解10046事件生成的跟踪文件
- 使用oracle的10046事件跟踪SQL语句
- 10046事件跟踪会话sql
- Oracle SQL Trace 和 10046 事件跟踪
- 性能测试 数据库优化调试之oracle10046事件跟踪