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

掌握该技术最根本的是需要搞清楚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:42litest_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.

更多Oracle相关信息见Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12

快速找到跟踪其他session产生的trc文件
更多相关文章
  • DevTools下分析网站源码时,如何快速找到某个JavaScript特效代码片段
    Chrome.Firefox等浏览器下分析分析网站源码时,怎样快速的找到某个效果的JS代码片段? Chrome.Firefox下是否有这样的一些插件工具? ThankQ! 我一般用比较原始的办法. 1.先格式化代码 底部"pretty print"按钮就可以搞定,当然这只能把代码 ...
  • Oracle diag目录下面的大量trace trc文件
    Oracle tarce文件是oracle数据库在运行时产生的日志,该trace文件是可以删除的,对系统没有什么影响.在删除前,先查看trace的参数配置SQL> show parameter trace_enNAME                                TYPE  ...
  • Oracle 11g 11.2.0.1 设置HuagePage导致TRC 变大 变多
    最近发现diag/..../trac/ 目录下  sid_ora_xxxx.trc 文件大小为11M 而且类似文件数量很大.导致占用了8G硬盘空间另外个同事说他的DG没有这个问题. 都一样的系统和一样的版本,唯一不同的是他使用的文件路径 我使用的单聚集+ASM.请问下 11.2.0.1的DG 最大可 ...
  • 通过以下命令刚安装的Lumen: composer create-project laravel/lumen --prefer-dist 做了以下修改: 1.修改 .env 文件 APP_KEY=iMXwF1A6Vdbg5V8bYzuNbqv0HX6nH9Cd SESSION_DRIVER=file ...
  • Oracle 10 DBMS_MONITOR跟踪和分析其它session SQL
    Oracle 10 DBMS_MONITOR跟踪和分析其它session SQL1. session 信息查看当前session信息语句select sid, serial#, username, machinefrom v$sessionwhere type != 'BACKGROUND'and ...
  • php中cookie和session是我们常用的两个变量了,一个是用户客户端的,一个用在服务器的但他们的区别与工作原理怎么样,下面我们一起来看看cookie和session机制原理吧.cookie和session机制之间的区别和联系 具体来说cookie机制采用的是在客户端保持状态的方案.它是在用户 ...
  • Oracle 数据库中v$session and v$process浅析
    V$SESSION在本视图中,每一个连接到数据库实例中的session都拥有一条记录.包括用户session及后台进程如DBWR,LGWR,arcchiver等等.V$SESSION中的常用列V$SESSION是基础信息视图,用于找寻用户SID或SADDR.不过,它也有一些列会动态的变化,可用于检查 ...
  • Oracle性能调优之--Oracle sql语句跟踪
    SQL> showparameter sqlNAME                                 TYPE        VALUE----------------------------------------------- ----------------------- ...
一周排行