zoukankan      html  css  js  c++  java
  • 快速找到跟踪其他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: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.

  • 相关阅读:
    非法字符:"ufeff"
    IntelliJ IDEA 创建Web项目
    dubbo 响应超时异常: com.alibaba.dubbo.remoting.TimeoutException: Waiting server-side response timeout.
    Spring Cacheable 注解不缓存null值
    linux 中 permission denied的问题
    unZip/Zip的安装
    @GeneratedValue 四种标准用法为TABLE,SEQUENCE,IDENTITY,AUTO
    【nginx】nginx tomcat session 共享配置
    [IDEA] IDEA 集成PlantUML
    【linux】 解决linux下vsftp 500 OOPS: cannot change directory:/home/ftp/ 办法
  • 原文地址:https://www.cnblogs.com/javawebsoa/p/3238877.html
Copyright © 2011-2022 走看看