分享

Oracle 10046跟踪事件使用方法

 安素暖 2021-07-29

1.开启10046跟踪事件

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

如果想更容易标识trace文件,在开启事件之前,可以先设置trace的标识

alter sessionset tracefile_identifier='ybb';

 这样完成后,trace文件名称就会加上ybb

2.执行要跟踪的sql语句(对应的trace文件中有SQL的执行情况)

select *from dba_userswhere username='SCOTT';

3.停止10046事件跟踪

alter sessionset events'10046 trace name context off';

 4.定位此次生成的trace文件

select distinct(m.sid),p.pid,p.tracefilefrom v$mystat m,v$session s,v$process pwhere m.sid=s.sidand s.paddr=p.addr;

5.用tkprof工具格式化文件输出


10046事件是SQL_TRACE的扩展,有效的跟踪级别有:

level 0:SQL_TRACE=FASLE

level 1:跟踪sql语句,包括解析、执行、提取、提交和回滚等。

level 4:1级+绑定变量

level 8:4级+等待事件

level 12:4级+8级

其中,level 1相当于打开了sql_trace

session级别开启/关闭10046 trace追踪

    alter sessionset evnets'10046 trace name context forever,level 12';

    alter sessionset events'10046 trace name context forever off';

system级别开启/关闭10046 trace追踪

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

    alter systemset events'10046 trace name context forever off';

也可以进行全局设置,在参数文件(pfile/spfile)中增加以下:

    Event=”10046 tracename context forever,level 12”

转载:https://www.cnblogs.com/abclife/p/5295862.html


在打开10046事件的SQL Trace之前,要先设置好下面几个参数。

timed_statistics

这个参数决定了是否收集与时间相关的统计信息,如果这个参数为FALSE的话,那么SQL Trace的结果基本没有多大的用处,默认情况下这个参数设置为TRUE。

max_dump_file_size

dump文件的大小,也就是决定是否限制SQL Trace文件的大小,在一个很忙的系统上面做SQL Trace的话可能会生成很多的信息,因此最好在会话级别将这个参数设置成unlimited。

tracefile_identifier

给Trace文件设置识别字符串,这是个非常有用的参数,设置一个易读的字串能更快的找到Trace文件。

要在当前会话修改上述参数很简单,只要使用下面的命令即可:

    ALTER SESSION SET timed_statistics=true;

    ALTER SESSION SET max_dump_file_size=unlimited;

    ALTER SESSION SET tracefile_identifier='cancer_trc;

开启当前会话的10046 Trace

   ALTER SESSION SET EVENTS '10046 trace name context forever, level 12';

关闭Trace,任何级别

   ALTER SESSION SET EVENTS '10046 trace name context off';

查询当前会话产生的trc路径

select tracefile from v$process where addr in (select paddr from v$session where sid in (select sid from v$mystat));

使用tkprof将trc文件转换成可读文件

先定位到tkprof所在路径,一般在ORACLE_HOME/BIN下

执行:

tkprof trc文件路径 生成文件路径,例如:

tkprof  E:\app\Administrator\diag\rdbms\orcl\orcl\trace\orcl_ora_6344_my_trace_session.trc c:\a.txt

————————————————

版权声明:本文为CSDN博主「梓沐」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/u011364306/article/details/46632351

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多