前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【DB笔试面试685】在Oracle中,如何获取trace文件的路径?

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

作者头像
小麦苗DBA宝典
发布2019-11-13 14:48:33
2.7K0
发布2019-11-13 14:48:33
举报

题目部分

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

答案部分

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

1、通过user_dump_dest查询

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

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

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

CREATE OR REPLACE PUBLIC SYNONYM SYN_TRACENAME_LHR FOR VW_SQL_TRACE_NAME_LHR;

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

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

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

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

3、oradebug tracefile_name获取

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

4、通过参数直接查询

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

& 说明:

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

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

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-11-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DB宝 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档