在打开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 c.value || '/' || d.instance_name || '_ora_' || a.spid || '.trc' trace
from v$process a, v$session b, v$parameter c, v$instance d
where a.ADDR = b.PADDR
and b.SID = sys_context('userenv','sid')
and c.NAME = 'user_dump_dest' ;
使用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
版权声明:本文为博主原创文章,未经博主允许不得转载。