当前位置:  数据库>oracle

快速找到跟踪其他session产生的trc文件

    来源: 互联网  发布时间:2017-05-25

    本文导语: 掌握该技术最根本的是需要搞清楚session跟踪文件存放的路径和生成跟踪文件的命名规则,不然,在已经存在成全上万trc文件的生产环境中,要想快速正确的找到跟踪其他SESSION产生的trc文件就如大海捞针。 跟踪其它session,一般...

掌握该技术最根本的是需要搞清楚session跟踪文件存放的路径和生成跟踪文件的命名规则,不然,在已经存在成全上万trc文件的生产环境中,要想快速正确的找到跟踪其他SESSION产生的trc文件就如大海捞针。

跟踪其它session,一般是根据sid+serial#进行跟踪,但trc文件生成的名称跟SID和Serial#无关系,只是根SPID有关系而已。

所以,搞清楚session跟踪文件存放的路径和生成跟踪文件的命名规则就非常重要了,下面来介绍一下。

1、 SESSION跟踪文件存放的路径

由数据库的user_dump_dest参数所决定,例如:

SQL> show parameter user_dump_dest

 

NAME TYPE VALUE

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

user_dump_dest string /dba/Oracle/diag/rdbms/litest/litest/trace

2、 SESSION跟踪文件的命名规则

“Instance_name” + “_ora_” + “spid.trc” 例如:

litest_ora_12262.trc

路径名+跟踪文件名示例即为:

/dba/oracle/diag/rdbms/litest/litest/trace/litest_ora_12262.trc

3、10046跟踪其它SID会话,寻找trc文件实例

(1)查询出目标会话的SID或SPID基本信息

A、先根据目标会话的SID查到其spid

SQL> select p.spid,s.sid,s.serial# from v$session s,v$process p where s.paddr=p.addr and s.sid=38;

 

SPID SID SERIAL#

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

16334 38 1499

B、或者,根据目标会话的SPID查到其sid和serial#

SQL> select s.sid,s.serial#,p.spid from v$session s,v$process p where s.paddr=p.addr and p.spid=16334;

 

SID SERIAL# SPID

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

38 1499 16334

从上面查询中,已经查出SID 38,Serail# 1499的SPID是16334

(2)10046跟踪目标会话(SID=38,SERIAL#=1499)

SQL> execute dbms_system.set_ev(38,1499,10046,12,'');

PL/SQL procedure successfully completed.

(3)在目标会话有产生活动信息后,根据目标会话的SPID 16334,到udump目示下寻找trc文件

[oracle@oraclelinux trace]$ pwd

/dba/oracle/diag/rdbms/litest/litest/trace

[oracle@oraclelinux trace]$ ls -l |grep 16334

-rw-r-----. 1 oracle oinstall 4703 Aug 15 13:42 litest_ora_16334.trc

-rw-r-----. 1 oracle oinstall 168 Aug 15 13:42 litest_ora_16334.trm

现在udump目录下已经找到10046跟踪SID为38的trc文件litest_ora_16334.trc,

文件的绝对路径+文件名为:/dba/oracle/diag/rdbms/litest/litest/trace/litest_ora_16334.trc

(4)最后别忘记停止对SID 38的跟踪哦

SQL> execute dbms_system.set_ev(38,1499,10046,0,'');

PL/SQL procedure successfully completed.


    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 用grep找到字符后,用什么语句可以把找到的字符进行替换
  • 我初学NETTERM的使用,在哪里可以找到所有(或常用的)命令的使用方法呢?还是需要在什么书上可以找到?
  • 怎么找到ELF文件代码段的位置?
  • 在装LINUX时出现未找到创建新文件的有效设备
  • 没有找到cc编译器
  • Solaris安装时说没有找到硬盘!
  • linux 下怎么才能找到想要的文件?
  • 使用jquery prev()方法找到同级的前一个元素
  • 我怎样才能找到例子?
  • 哪里可以找到gcc???
  • 请问:哪里能找到linux的源代码
  • 哪能找到下载java API??
  • 这样找到servelet类啊?
  • 注册到DNS SERVER 让别人通过域名找到我,需要什么条件?
  • 请问哪里可以找到视频电话或者视频会议的源代码下载?
  • 搜索了好久都没找到,C里面如何使用GD库?
  • 那里可以找到计算机科学的学术资料及参考文献呢?
  • 未找到要在其中创建新文件系统的有效设备
  • 请问在如下内容怎么找到所要的目标?用shell实现
  • linux xchat 怎样找到国内的群


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,