获取sender进程所产生的trace文件

Posted moonfans

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了获取sender进程所产生的trace文件相关的知识,希望对你有一定的参考价值。

直接开启数据库实例级别的sql_trace是不现实的,会对所有连接到oracle的session都产生sql_trace,这样会产生大量的trace文件(垃圾文件),因此为跟踪特定进程的sql信息,可以对特点进程产生sql_trace文件,步骤如下:

1、获取sender进程的sid,serial#,spid

select a.process,a.program,a.saddr,a.sid,a.serial#,a.paddr,b.spid,b.username,b.program

 from v$session a,v$process b

 where a.paddr=b.addr

 and a.program like ‘sender%‘

 and a.osuser=‘dsg‘

 order by 1;

漫兮网 - 服务于区块链创业者、技术人和站长的网站http://www.manxinet.com

2、开启sender进程的sql_trace跟踪

SQL> alter session set sql_trace = true;

SQL> exec SYS.DBMS_SYSTEM.SET_SQL_TRACE_IN_SESSION =(SID,SERIAL#,TRUE);

注:必须产生新交易以后才能生成trace文件,即sender进程必须有事物发生才能产生对应的sql_trace文件

漫兮网 - 服务于区块链创业者、技术人和站长的网站http://www.manxinet.com

3、关闭sender进程的sql_trace跟踪

追踪一段时间的sql以后,切忌不要忘记关闭sender进程的sql_trace 

SQL> exec SYS.DBMS_SYSTEM.SET_SQL_TRACE_IN_SESSION =(SID,SERIAL#,FALSE);

 

4、使用tkprof格式化trace文件  

以上是关于获取sender进程所产生的trace文件的主要内容,如果未能解决你的问题,请参考以下文章

方法整理Oracle 获取trace跟踪文件名的几种常用方式

如何获取子进程的输出

ORACLE中trace文件夹下面的文件可以删除么

Android ANR log trace日志文件分析

Android:如何从三星 Galaxy Tab 获取 data/anr/traces.txt?

如何获取窗体中组件的句柄