(1)ADR概述

Oracle 11g的FDI(Fault Diagnosability Infrastructure)是自动化诊断方面的一个增强,其核心组件为自动诊断库(Automatic Diagnostic Repository--ADR)。

在Oracle 11g之前,Oracle的各类跟踪文件、日志文件等诊断信息的存储位置并不统一。Oracle 11g中,在基于FDI的基础架构之上,Oracle开始统一规划这些文件的存储。

ADR的路径被称为ADR BASE(ADR基目录),由初始化参数DIAGNOSTIC_DEST决定:

  1. SQL> show parameter diagnostic_dest
  2.  
  3. NAME TYPE VALUE
  4. ------------------------------------ ----------- ------------------------------
  5. diagnostic_dest string /home/app/oracle

ADR自动诊断资料库的文件路径如下图:

ADR基目录可以包含多个ADR主目录,每个ADR主目录都是一个根目录,用于存放Oracle产品或组件特定实例的全部诊断数据。

incident目录包含多个子目录,每个子目录均以特定意外事件命名,并且仅包含与该意外事件相关的转储。

hm目录包含由健康状况监视器生成的报告。

metadata包含资料档案库自身的重要文件,可将此目录比作数据库数据字典,可通过ADRCI查询此字典。

例子1.查看ADR BASE的目录结构:

  1. [oracle@localhost oracle]$ tree -d diag/
  2. diag/
  3. ├── rdbms
  4. └── orcl
  5. └── orcl
  6. ├── alert
  7. ├── cdump
  8. ├── hm
  9. ├── incident
  10. ├── incpkg
  11. ├── ir
  12. ├── lck
  13. ├── metadata
  14. ├── stage
  15. ├── sweep
  16. └── trace
  17. └── tnslsnr
  18. └── localhost
  19. └── listener
  20. ├── alert
  21. ├── cdump
  22. ├── incident
  23. ├── incpkg
  24. ├── lck
  25. ├── metadata
  26. ├── stage
  27. ├── sweep
  28. └── trace
  29.  
  30. 26 directories

通过目录结构,可以看到实例(orcl)以及监听器的日志都会放到”../diag”中,如果是RAC数据库,还可以看到crs、asm的路径信息。

此外,Oracle 11g可通过一个新的视图V$DIAG_INFO来查看ADR信息:

  1. SELECT * FROM V$DIAG_INFO;
  2. INSTID NAME VALUE
  3. -------------------------------------------------------------------------------------------
  4. 1 Diag Enabled TRUE
  5. 1 ADR Base /home/app/oracle
  6. 1 ADR Home /home/app/oracle/diag/rdbms/orcl/orcl
  7. 1 Diag Trace /home/app/oracle/diag/rdbms/orcl/orcl/trace
  8. 1 Diag Alert /home/app/oracle/diag/rdbms/orcl/orcl/alert
  9. 1 Diag Incident /home/app/oracle/diag/rdbms/orcl/orcl/incident
  10. 1 Diag Cdump /home/app/oracle/diag/rdbms/orcl/orcl/cdump
  11. 1 Health Monitor /home/app/oracle/diag/rdbms/orcl/orcl/hm
  12. 1 Default Trace File /home/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_ora_25071.trc
  13. 1 Active Problem Count 0
  14. 1 Active Incident Count 0

其中,“../atert”路径下保存的是xml格式的alert日志,“../trace”路径下保存的是文本格式的alert日志,两个日志内容相同。在../tracle路径下还包含很多的”.trm”,”.trc”文件,这个是数据库的后台/前台跟踪文件,这个后面讨论。

(2)trm和trc文件

1.trc文件

trc文件全称sql Trace Collection file,它是系统的跟踪文件,当系统启动时或运行过程中出现错误时,系统会自动记录到跟踪文件的指定目录,以便于检查,这些文件需要定期删除。

2.trm文件

trm文件全称Trace Map file,被称为跟踪元数据文件,trm文件中的元数据描述了存储在.trc文件中的跟踪记录。

trm文件伴随着trc文件产生,一个trm文件对应一个trc文件,trm文件包含trc文件的结构化信息。

(3)ADRCI工具

ADRCI是一个ADR的命令行工具,使用ADRCI,可以:

1.查看自动诊断资料库(ADR)里面的诊断数据;

2.将意外事件和问题信息打包成ZIP文件,以传输到Oracle技术支持。

其主要功能如下:

  1. adrci> help
  2.  
  3. HELP [topic]
  4. Available Topics:
  5. CREATE REPORT
  6. ECHO
  7. EXIT
  8. HELP
  9. HOST
  10. IPS
  11. PURGE
  12. RUN
  13. SET BASE
  14. SET BROWSER
  15. SET CONTROL
  16. SET ECHO
  17. SET EDITOR
  18. SET HOMES | HOME | HOMEPATH
  19. SET TERMOUT
  20. SHOW ALERT
  21. SHOW BASE
  22. SHOW CONTROL
  23. SHOW HM_RUN
  24. SHOW HOMES | HOME | HOMEPATH
  25. SHOW INCDIR
  26. SHOW INCIDENT
  27. SHOW PROBLEM
  28. SHOW REPORT
  29. SHOW TRACEFILE
  30. SPOOL

(4)使用ADRCI清空日志

清空日志使用的是ADRCI工具的purge命令,关于该命令的用法,我们可以看文档:

  1. adrci> help purge
  2.  
  3. Usage: PURGE [[-i <id1> | <id1> <id2>] |
  4. [-age <mins> [-type ALERT|INCIDENT|TRACE|CDUMP|HM|UTSCDMP]]]:
  5.  
  6. Purpose: Purge the diagnostic data in the current ADR home. If no
  7. option is specified, the default purging policy will be used.
  8.  
  9. Options:
  10. [-i id1 | id1 id2]: Users can input a single incident ID, or a
  11. range of incidents to purge.
  12.  
  13. [-age <mins>]: Users can specify the purging policy either to all
  14. the diagnostic data or the specified type. The data older than <mins>
  15. ago will be purged
  16.  
  17. [-type ALERT|INCIDENT|TRACE|CDUMP|HM|UTSCDMP]: Users can specify what type of
  18. data to be purged.
  19.  
  20. Examples:
  21. purge
  22. purge -i 123 456
  23. purge -age 60 -type incident

解析:

  • 目的:清空当前ADR路径下的日志,如果没有选项被指定,默认的PURGE方案将被执行。
  • 选项:

[-i id1 | id1 id2]:用户可以输入一个incident id,或者输入incident id的范围来清空。

[-age <mints>]:用户可以对全部的诊断数据或者指定的数据类型进行清空,超过age分钟前的数据将被清除。

[-type ALTER|INCIDENT|TRACE|CDUMP|HM|UTSCDMP]:用户可以指定被清空的数据类型

例子2.清空60分钟前trace日志,在清空前别忘记备份

step1:清空前

  1. [oracle@localhost orcl]$ pwd
  2. /home/app/oracle/diag/rdbms/orcl/orcl
  3. [oracle@localhost orcl]$ du -ks *
  4. 4 alert
  5. 4 cdump
  6. 4 hm
  7. 4 incident
  8. 4 incpkg
  9. 8 ir
  10. 4 lck
  11. 2568 metadata
  12. 4 stage
  13. 4 sweep
  14. 2232 trace #trace大小为2232

step2:清空60分钟前的trace日志

  1. adrci> show homes
  2. ADR Homes:
  3. diag/rdbms/orcl/orcl
  4. adrci> purge -age 60 -type trace

step3:再次查看大小

  1. [oracle@localhost orcl]$ du -ks *
  2. 4 alert
  3. 4 cdump
  4. 4 hm
  5. 4 incident
  6. 4 incpkg
  7. 8 ir
  8. 4 lck
  9. 2568 metadata
  10. 4 stage
  11. 4 sweep
  12. 240 trace #trace大小为240

(5)listener.log文件清理

详见:Oracle listener.log 清理

【参考】

1.Oracle 11g 新特性 -- 自动诊断资料档案库(ADR) 说明

2.http://blog.itpub.net/29367946/viewspace-1683574/

自动诊断档案库(ADR)学习的更多相关文章

  1. Oracle 自己主动诊断资料档案库 (ADR)、自己主动诊断工作流、ADRCI工具

    1.自己主动诊断工作流: 通过一个始终处于打开状态的内存中跟踪工具,数据库组件能够在第一次出现严重错误故障时捕获诊断数据.系统将自己主动维护一个称为"自己主动诊断资料档案库"的特殊 ...

  2. [转]Oracle10g数据库自动诊断监视工具(ADDM)使用指南

    第一章 ADDM简介                 在Oracle9i及之前,DBA们已经拥有了很多很好用的性能分析工具,比如,tkprof.sql_trace.statspack.set even ...

  3. 面图层拓扑检查和错误自动修改—ArcGIS案例学习笔记

    面图层拓扑检查和错误自动修改-ArcGIS案例学习笔记 联系方式:谢老师,135_4855_4328,xiexiaokui#139.com 数据源: gis_ex10\ex01\parcel.shp, ...

  4. 基于TORCS和Torch7实现端到端连续动作自动驾驶深度强化学习模型(A3C)的训练

    基于TORCS(C++)和Torch7(lua)实现自动驾驶端到端深度强化学习模型(A3C-连续动作)的训练 先占坑,后续内容有空慢慢往里填 训练系统框架 先占坑,后续内容有空慢慢往里填 训练系统核心 ...

  5. 图像分类学习:X光胸片诊断识别----迁移学习

    引言   刚进入人工智能实验室,不知道是在学习机器学习还是深度学习,想来他俩可能是一个东西,查阅之后才知道这是两个领域,或许也有些交叉,毕竟我也刚接触,不甚了解.   在我还是个纯度小白之时,写下这篇 ...

  6. 【转】shell脚本实现多台服务器自动巡检--可参考学习

    shell脚本实现多台服务器自动巡检   摘要:           运维服务一个项目二十多台(或者多台)服务器,每天要做服务器的性能巡检工作是查看服务器的CPU.内存.磁盘空间是否在正常值范围内.像 ...

  7. Abp 中 模块 加载及类型自动注入 源码学习笔记

    注意 互相关联多使用接口注册,所以可以 根据需要替换. 始于 Startup.cs 中的  通过 AddApplication 扩展方法添加 Abp支持 1 services.AddApplicati ...

  8. Java自动内存管理机制学习(二):垃圾回收器与内存分配策略

    备注:本文引自<深入理解Java虚拟机第二版>仅供参考 图片来自:http://csdn.net/WSYW126 垃圾收集器与内存分配策略 概述 GC要完成3件事: 哪些内存需要回收? 什 ...

  9. Java自动内存管理机制学习(一):Java内存区域与内存溢出异常

    备注:本文引用自<深入理解Java虚拟机第二版> 2.1 运行时数据区域 Java虚拟机在执行Java程序的过程中把它所管理的内存划分为若干个不同的数据区域.这些区域都有各自的用途,以及创 ...

随机推荐

  1. HyperLink 控件

    yperLink就是一个可以用后台代码控制生成的超链接 1,声明,创建 2,设定text 3,设定navigateurl 4,将他添加到某个容器中 为什么没有保留第一次添加的连接? l 按钮1:向pa ...

  2. 调试.NET程序OutOfMemoryException (转载)

    原文地址:http://blog.csdn.net/directionofear/article/details/8009427 应用程序调试,需要有个常规的调试思路,应对各类问题最基本的调试手段是什 ...

  3. Junit入门教程

    做开发的时候,完成一个接口.方法.函数或者功能等,需要测试,是否有bug,有逻辑错误.这里有两种方案测试 1. 在main中写测试方法 2. 使用开源框架,这里使用的junit main写测试方法优点 ...

  4. keepalived+nginx 高可用集群

    一.什么是高可用?   nginx做负载均衡,能达到分发请求的目的,但是不能很好的避免单点故障. 1.nginx集群单点问题 分发器宕机怎么处理? 假如nginx服务器挂掉了,那么所有的服务也会跟着瘫 ...

  5. html的标签(1)

    首先补充上一次没有讲到的,html文件后缀名有2种,一种是.htm,一种是.html..html是老的教科书里面的文件后缀名,.html是新的教科书的文件后缀名..htm文件是不完整的支持html5的 ...

  6. html和css命名-望文生义

    HTML+CSS命名规则 在一个内容较多的HTML页面中,需要设计许多不同的框架,再为这些不同的框架及内容进行分类,给予相应的名称,从而使得网页结构更加清晰,也为工作提供了方便.许多新手朋友在设计一个 ...

  7. mac的svn

    http://xclient.info/s/cornerstone.html?t=c5242a66e53f1d866afe8c42aace2738c04ce9ee#versions 破解版的地址 打开 ...

  8. webstorm上传vue代码至git

    Git在push时候,提示:push to origin/master was rejected 解决方案如下: 提交代码顺序 webstorm右键项目名称==>Git==>Commit ...

  9. http状态码汇总及代表意思

    成功2×× 成功处理了请求的状态码.200 服务器已成功处理了请求并提供了请求的网页.204 服务器成功处理了请求,但没有返回任何内容. 重定向3×× 每次请求中使用重定向不要超过 5 次.301 请 ...

  10. ASP.NET MVC 音乐商店 - 5 通过支架创建编辑表单 续

    查看 StoreManager 控制器的代码 现在,Store Manager 控制器中已经包含了一定数量的代码,我们从头到尾重新过一下. 首先,在控制器中包含了标准的 MVC 控制器的代码,为了使用 ...