【方法整理】Oracle 获取trace跟踪文件名的几种常用方式
【方法整理】Oracle 获取trace跟踪文件名的几种常用方式
1 BLOG文档结构图
2 前言部分
2.1 导读和注意事项
各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识,~O(∩_∩)O~:
① trace跟踪文件的获取
Tips:
① 本文在itpub(http://blog.itpub.net/26736162)、博客园(http://www.cnblogs.com/lhrbest)和微信公众号(xiaomaimiaolhr)有同步更新。
② 文章中用到的所有代码,相关软件,相关资料请前往小麦苗的云盘下载(http://blog.itpub.net/26736162/viewspace-1624453/)。
③ 若网页文章代码格式有错乱,推荐使用360浏览器,也可以下载pdf格式的文档来查看,pdf文档下载地址:http://blog.itpub.net/26736162/viewspace-1624453/,另外itpub格式显示有问题,也可以去博客园地址阅读。
④ 本篇BLOG中命令的输出部分需要特别关注的地方我都用灰色背景和粉红色字体来表示,比如下边的例子中,thread 1的最大归档日志号为33,thread 2的最大归档日志号为43是需要特别关注的地方;而命令一般使用黄色背景和红色字体标注;对代码或代码输出部分的注释一般采用蓝色字体表示。
List of Archived Logs in backup set 11 Thrd Seq Low SCN Low Time Next SCN Next Time ---- ------- ---------- ------------------- ---------- --------- 1 32 1621589 2015-05-29 11:09:52 1625242 2015-05-29 11:15:48 1 33 1625242 2015-05-29 11:15:48 1625293 2015-05-29 11:15:58 2 42 1613951 2015-05-29 10:41:18 1625245 2015-05-29 11:15:49 2 43 1625245 2015-05-29 11:15:49 1625253 2015-05-29 11:15:53 [ZHLHRDB1:root]:/>lsvg -o T_XLHRD_APP1_vg rootvg [ZHLHRDB1:root]:/> 00:27:22 SQL> alter tablespace idxtbs read write; ====》2097152*512/1024/1024/1024=1G |
本文如有错误或不完善的地方请大家多多指正,ITPUB留言或QQ皆可,您的批评指正是我写作的最大动力。
3 获取trace跟踪文件名的几种方式
跟踪文件(trace file)一般位于“user_dump_dest”参数所指定的目录中,位置及文件名可以通过以下SQL查询获得。
3.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;
SYS@lhrdb> select * from VW_SQL_TRACE_NAME_LHR; TRACE_FILE_NAME -------------------------------------------------------------------------------- /oracle/app/oracle/diag/rdbms/lhrdb/lhrdb/trace/lhrdb_ora_19660944.trc |
3.2 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.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 |
3.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 |