【DB笔试面试685】在Oracle中,如何获取trace文件的路径?

【DB笔试面试685】在Oracle中,如何获取trace文件的路径?

         

题目         部分

在Oracle中,如何获取trace文件的路径?


     


         

答案部分          


跟踪文件(Trace File)一般位于“user_dump_dest”参数所指定的目录中,具体路径可以通过以下几种方式查询获得。

1、通过user_dump_dest查询

运行如下SQL语句来创建视图:

 1CREATE OR REPLACE VIEW VW_SQL_TRACE_NAME_LHR AS 
 2SELECT D.VALUE || '/' || LOWER(RTRIM(I.INSTANCE, CHR(0))) || '_ora_' ||
 3       P.SPID || '.trc' TRACE_FILE_NAME
 4  FROM (SELECT P.SPID
 5          FROM V$MYSTAT M, V$SESSION S, V$PROCESS P
 6         WHERE M.STATISTIC# = '1'
 7           AND S.SID = M.SID
 8           AND P.ADDR = S.PADDR) P,
 9       (SELECT T.INSTANCE
10          FROM V$THREAD T, V$PARAMETER V
11         WHERE V.NAME = 'thread'
12           AND (V.VALUE = '0' OR TO_CHAR(T.THREAD#) = V.VALUE)) I,
13       (SELECT VALUE FROM V$PARAMETER WHERE NAME = 'user_dump_dest') D;

     

创建公共同义词的命令如下所示:

1CREATE OR REPLACE PUBLIC SYNONYM SYN_TRACENAME_LHR FOR VW_SQL_TRACE_NAME_LHR;

     

查询同义词或视图都可以得到当前会话的trace文件名。

1SYS@lhrdb> SELECT * FROM VW_SQL_TRACE_NAME_LHR;
2TRACE_FILE_NAME
3--------------------------------------------------------------------------------
4/oracle/app/oracle/diag/rdbms/lhrdb/lhrdb/trace/lhrdb_ora_19660944.trc

     

2、Oracle 11g可以通过查询V$DIAG_INFO获取

1SYS@lhrdb> SELECT VALUE FROM V$DIAG_INFO WHERE NAME LIKE '%Default%';
2VALUE
3--------------------------------------------------------------------------------
4/oracle/app/oracle/diag/rdbms/lhrdb/lhrdb/trace/lhrdb_ora_19660944.trc

     

3、oradebug tracefile_name获取

1SYS@lhrdb> oradebug setmypid
2Statement processed.
3SYS@lhrdb> oradebug tracefile_name
4/oracle/app/oracle/diag/rdbms/lhrdb/lhrdb/trace/lhrdb_ora_19660944.trc

     

4、通过参数直接查询

 1SYS@lhrdb> ALTER SYSTEM DUMP DATAFILE 1 BLOCK 380313;
 2System altered.
 3SYS@lhrdb> SHOW PARAMETER USER_DUMP_DEST
 4NAME                                 TYPE        VALUE
 5------------------------------------ ----------- ------------------------------------------------------
 6user_dump_dest                       string      /oracle/app/oracle/diag/rdbms/lhrdb/lhrdb/trace
 7SYS@lhrdb> ! ls -lrt /oracle/app/oracle/diag/rdbms/lhrdb/lhrdb/trace/*.trc | tail -n 5
 8-rw-r-----    1 oracle   asmadmin      34143 Sep 27 13:00 /oracle/app/oracle/diag/rdbms/lhrdb/lhrdb/trace/lhrdb_m001_15859814.trc
 9-rw-r-----    1 oracle   asmadmin      49356 Sep 27 14:00 /oracle/app/oracle/diag/rdbms/lhrdb/lhrdb/trace/lhrdb_m001_15728766.trc
10-rw-r-----    1 oracle   asmadmin      19089 Sep 27 15:00 /oracle/app/oracle/diag/rdbms/lhrdb/lhrdb/trace/lhrdb_m001_28377292.trc
11-rw-r-----    1 oracle   asmadmin      32115 Sep 27 15:04 /oracle/app/oracle/diag/rdbms/lhrdb/lhrdb/trace/lhrdb_mmon_21233818.trc
12-rw-r-----    1 oracle   asmadmin      21278 Sep 27 15:05 /oracle/app/oracle/diag/rdbms/lhrdb/lhrdb/trace/lhrdb_ora_19660944.trc
13

     

& 说明:

有关获取trace文件的更多内容可以参考我的BLOG:http://blog.itpub.net/26736162/viewspace-2125659

 


本文选自《Oracle程序员面试笔试宝典》,作者:小麦苗



【DB笔试面试685】在Oracle中,如何获取trace文件的路径?

---------------优质麦课------------

【DB笔试面试685】在Oracle中,如何获取trace文件的路径?

详细内容可以添加麦老师微信或QQ私聊。


【DB笔试面试685】在Oracle中,如何获取trace文件的路径?


About Me:小麦苗      

● 本文作者:小麦苗,只专注于数据库的技术,更注重技术的运用

● 作者博客地址:http://blog.itpub.net/26736162/abstract/1/

● 本系列题目来源于作者的学习笔记,部分整理自网络,若有侵权或不当之处还请谅解

● 版权所有,欢迎分享本文,转载请保留出处

● QQ:646634621  QQ群:618766405

● 提供OCP、OCM和高可用部分最实用的技能培训

● 题目解答若有不当之处,还望各位朋友批评指正,共同进步

【DB笔试面试685】在Oracle中,如何获取trace文件的路径?DBA宝典

长按下图识别二维码或微信扫描下图二维码来关注小麦苗的微信公众号:xiaomaimiaolhr,学习最实用的数据库技术。

【DB笔试面试685】在Oracle中,如何获取trace文件的路径?

【DB笔试面试685】在Oracle中,如何获取trace文件的路径?

【DB笔试面试685】在Oracle中,如何获取trace文件的路径?


上一篇:运维利器:万能的 strace


下一篇:【DB笔试面试673】在Oracle中,如何dump数据库内部结构?