设为首页 收藏本站
查看: 2498|回复: 0

[经验分享] Oracle的跟踪文件(trace file)

[复制链接]

尚未签到

发表于 2018-9-6 12:51:34 | 显示全部楼层 |阅读模式
  跟踪文件通常都是因为通过DBMS_MONITOR(在Oracle Database 9i>
DSC0000.png

  这些跟踪文件包含与诊断和性能有关的信息。它们对于了解数据库应用的内部工作有着非凡的意义。在一个正常运行的数据库中,你会经常看到这些跟踪文件,而且远比看到其他类型的跟踪文件多得多。
  1 文件位置
  不论是使用DBMS_MONITOR、SQL_TRACE还是扩展的跟踪工具,Oracle都会在数据库服务器主机的以下两个位置生成一个跟踪文件。

  •   如果使用专用服务器连接,会在user_dump_dest参数指定的目录中生成跟踪文件。
  •   如果使用共享服务器连接,则会在background_dump_dest参数指定的目录中生成跟踪文件。
  注意:11g版本中background_dump_dest和user_dump_dest参数将要被废弃掉,虽然还可以使用这两个参数进行查询但可以使用使用新的参数或视图进行查询。
  使用show parameterdump_dest命令来查看目录,也可以直接查询V$PARAMETER视图,或查询新的V$DIAG_INFO 视图。
DSC0001.png

DSC0002.png

  V$DIAG_INFO是Oracle Database 11g新增的视图,这在较早的版本中还没有。它是访问新增ADR工具所用跟踪信息的一个更容易的接口。
  Oracle Database 11g调整了很多文件的默认存储位置,使它们组织得更好一些,从而能更容易地记录对Oracle的服务请求。其中最重要的行包括下面两项:

  •   Diag Trace:这是Oracle Database    11g中跟踪文件(包括后台和用户转储目标)所在的位置。
  •   Default Trace File:这是当前会话的跟踪文件名。在较早的版本中,这个文件名可能很难得到。在Oracle Database    11g中,只需要对V$DIAG_INFO简单的查询就可以返回这个文件的完全限定文件名。
  2命名约定
  Oracle中跟踪文件的命名约定总在变化,示例如下:
  跟踪文件名
  数据库版本
  ora_10583.trc

  9i>  ora9ir2_ora_1905.trc

  9i>  ora10gr2_ora_6793.trc

  10g>  ora11gr2_ora_1990.trc

  11g>  跟踪文件名可以分为以下几个部分。

  文件名的第一部分是ORACLE_SID(但9i>  文件名的下一部分只有一个ora。
  跟踪文件名中的数字是专用服务器的进程ID,可以从V$PROCESS视图得到。
  Oracle Database 11g能方便使用V$DIAG_INFO视图,在该版本之前,实际(假设使用专用服务器模式)需要访问4个视图。
  V$PARAMETER:找到USER_DUMP_DEST指定的跟踪文件位置,找到可能在跟踪文件名中用到的可选的tracefile_identifier。
  V$PROCESS:查找进程ID。
  V$SESSION:正确地标识其他视图中的会话信息。
  V$INSTALCE:得到ORACLE_SID。
  使用下面的查询可以生成跟踪文件名:
  SELECT C.VALUE ||'/' || D.INSTANCE_NAME || '_ora_' || A.SPID || CASE
  WHEN E.VALUE IS NOT NULL THEN
  '_' || E.VALUE
  END || '.trc' TRACE
  FROM V$PROCESS A, V$SESSION B, V$PARAMETER C,V$INSTANCE D, V$PARAMETER E
  WHERE A.ADDR = B.PADDR
  AND B.SID = USERENV('sid')
  AND C.NAME = 'user_dump_dest'
  AND E.NAME = 'tracefile_identifier';
DSC0003.png DSC0004.png

  如果文件存在就可以通过名字访问它。只有在启用跟踪后才能出现跟踪文件。在Windows平台上要把/换成\。
  3 对跟踪文件加标记
  有一种办法可以对跟踪文件“加标记”,这样即便无权访问V$PROCESS和V$SESSION,也能找到跟踪文件。假设你能读取user_dump_dest目录,就可以使用会话参数tracefile_identifier。采用这种方法可以为跟踪文件名增加一个可以唯一标识的串:
  可以看到,跟踪文件还是采用标准的_ora_格式命名,但是这里还有为它指定的唯一的串,这样就能很容易找到跟踪文件名。
  参考《Oracle 9i 10g 11g编程艺术  深入数据库体系结构 》


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-564088-1-1.html 上篇帖子: 第1章 Oracle的简介 下篇帖子: oracle系列(二)oracle体系结构和用户管理
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表