【方法整理】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;


[email protected]> 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获取


[email protected]> 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获取


[email protected]> oradebug setmypid

Statement processed.

[email protected]> oradebug tracefile_name

/oracle/app/oracle/diag/rdbms/lhrdb/lhrdb/trace/lhrdb_ora_19660944.trc

 

3.4  通过参数直接查询


[email protected]> alter system dump datafile 1 block 380313;

 

System altered.

 

[email protected]> show parameter user_dump_dest

 

NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------

user_dump_dest                       string      /oracle/app/oracle/diag/rdbms/

                                                 lhrdb/lhrdb/trace

[email protected]> ! 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

 

  About Me


...............................................................................................................................

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

● 本文在itpub(http://blog.itpub.net/26736162)、博客园(http://www.cnblogs.com/lhrbest)和个人微信公众号(xiaomaimiaolhr)上有同步更新

● 本文itpub地址:http://blog.itpub.net/26736162/viewspace-2125659/

● 本文博客园地址:http://www.cnblogs.com/lhrbest/p/5914076.html

● 本文pdf版:http://yunpan.cn/cdEQedhCs2kFz (提取码:ed9b)

● 小麦苗云盘地址:http://blog.itpub.net/26736162/viewspace-1624453/

● QQ群:230161599     微信群:私聊

● 联系我请加QQ好友(642808185),注明添加缘由

● 于 2016-09-27 10:00 ~ 2016-09-27 19:00 在中行完成

● 文章内容来源于小麦苗的学习笔记,部分整理自网络,若有侵权或不当之处还请谅解!

● 【版权所有,文章允许转载,但须以链接方式注明源地址,否则追究法律责任】

...............................................................................................................................

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

 

时间: 2024-10-25 20:15:40

【方法整理】Oracle 获取trace跟踪文件名的几种常用方式的相关文章

JAVA获取文件的几种常用方式

1.user.dir System.out.println(System.getProperty("user.dir")); 此方获取的是运行的路 比如 1. 2.如果在eclipse上运行则是eclipse运行文件同级 3.tomcat则在 4.File file = new File("log4j.properties"); 这里的log4j.properties也是在以上类型的目录下查找 5.FileInputStreaminput = newFileInpu

前台获取json未定义问题之两种常用解决办法

来自博客园的一位朋友解答: 为什么要 eval这里要添加 "("("+data+")");//"呢? 原因在于:eval本身的问题. 由于json是以"{}"的方式来开始以及结束的,在JS中,它会被 当成一个语句块来处理,所以必须强制性的将它转换成一种表达式. 加上圆括号的目的是迫使eval函数在处理JavaScript代码的时候强制将括号内的表达式 (expression)转化为对象,而不是作为语句(statement)来执

MyBatis+Oracle实现主键自增长的几种常用方式

一.使用selectKey标签 <insert id="addLoginLog" parameterType="map" > <selectKey keyProperty="id" resultType="int" order="BEFORE"> select nvl(max(id),0)+1 from ap_loginlog </selectKey> insert in

C++ 中用cin方式获取输入的几种常用方式

一.前言 在C++程序的编写过程中,可能会经常用到cin方式用来捕获输入设备的输入信息.细分的话,主要的方式有:cin>>.cin.get.cin.getline.在借助键盘等字符输入设备进行输入的时候,如果键入Enter(\r)才会把目标字符输入到缓存区,,键入的'\r'会被转换成一个'\n',这个换行符同样也会被输入到缓存区,当做一个键入字符来处理. 参考资料:https://blog.csdn.net/k346k346/article/details/48213811 二.测试环境 Wi

Oracle性能分析1:开启SQL跟踪和获取trace文件

当Oracle查询出现效率问题时,我们往往需要了解问题所在,这样才能针对问题给出解决方案.Oracle提供了SQL执行的trace信息,其中包含了SQL语句的文本信息,一些执行统计,处理过程中的等待,以及解析阶段(如生成执行计划)产生的信息.这些信息有助于你分解sql语句的服务时间和等待时间,并了解所用资源和同步点的详细信息,从而帮助你诊断存在的性能问题. 这篇文章介绍了怎么开启SQL跟踪和获取trace文件,详细信息如下. 开启SQL跟踪 从内部技术细节看,SQL跟踪是基于10046调试事件的

【翻译自mos文章】开启dblink的 oracle net trace/tracing --对dblink进行跟踪的方法

开启dblink的 oracle net trace/tracing --对dblink进行跟踪的方法. 参考原文: DBLINK: How to Enable Oracle Net Tracing for Database links (Doc ID 746917.1) 适用于: Oracle Net Services - Version 9.2.0.1.0 to 11.2.0.3 [Release 9.2 to 11.2] Information in this document appli

Oracle获取执行计划方法

获取执行计划的6种方法 1. explain plan for获取: 2. set autotrace on : 3. statistics_level=all; 4. 通过dbms_xplan.display_cursor输入sql_id参数直接获取 5. 10046 trace跟踪 6. awrsqrpt.sql 适用场合分析 1.如果某SQL执行非常长时间才会出结果,甚至慢到返回不了结果,这时候看执行计划就只能用方法1: 2.跟踪某条SQL最简单的方法是方法1,其次就是方法2,方法2要执行

[Oracle] 获取运行计划的各方法总结

总的结论: 一.获取运行计划的6种方法(具体步骤已经在每一个样例的开头凝视部分说明了): 1. explain plan for获取: 2. set autotrace on . 3. statistics_level=all; 4. 通过dbms_xplan.display_cursor输入sql_id參数直接获取 5. 10046 trace跟踪 6. awrsqrpt.sql 二.适用场合分析 1.假设某SQL运行很长时间才会出结果.甚至慢到返回不了结果,这时候看运行计划就仅仅能用方法1,

ORACLE 获取执行计划的方法

一.获取执行计划的6种方法(详细步骤已经在每个例子的开头注释部分说明了): 1. explain plan for获取: 2. set autotrace on : 3. statistics_level=all; 4. 通过dbms_xplan.display_cursor输入sql_id参数直接获取 5. 10046 trace跟踪 6. awrsqrpt.sql 二.适用场合分析 1.如果某SQL执行非常长时间才会出结果,甚至慢到返回不了结果,这时候看执行计划就只能用方法1: 2.跟踪某条