自动诊断档案库(ADR)学习
(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决定:
- SQL> show parameter diagnostic_dest
- NAME TYPE VALUE
- ------------------------------------ ----------- ------------------------------
- diagnostic_dest string /home/app/oracle
ADR自动诊断资料库的文件路径如下图:
ADR基目录可以包含多个ADR主目录,每个ADR主目录都是一个根目录,用于存放Oracle产品或组件特定实例的全部诊断数据。
incident目录包含多个子目录,每个子目录均以特定意外事件命名,并且仅包含与该意外事件相关的转储。
hm目录包含由健康状况监视器生成的报告。
metadata包含资料档案库自身的重要文件,可将此目录比作数据库数据字典,可通过ADRCI查询此字典。
例子1.查看ADR BASE的目录结构:
- [oracle@localhost oracle]$ tree -d diag/
- diag/
- ├── rdbms
- │ └── orcl
- │ └── orcl
- │ ├── alert
- │ ├── cdump
- │ ├── hm
- │ ├── incident
- │ ├── incpkg
- │ ├── ir
- │ ├── lck
- │ ├── metadata
- │ ├── stage
- │ ├── sweep
- │ └── trace
- └── tnslsnr
- └── localhost
- └── listener
- ├── alert
- ├── cdump
- ├── incident
- ├── incpkg
- ├── lck
- ├── metadata
- ├── stage
- ├── sweep
- └── trace
- 26 directories
通过目录结构,可以看到实例(orcl)以及监听器的日志都会放到”../diag”中,如果是RAC数据库,还可以看到crs、asm的路径信息。
此外,Oracle 11g可通过一个新的视图V$DIAG_INFO来查看ADR信息:
- SELECT * FROM V$DIAG_INFO;
- INSTID NAME VALUE
- -------------------------------------------------------------------------------------------
- 1 Diag Enabled TRUE
- 1 ADR Base /home/app/oracle
- 1 ADR Home /home/app/oracle/diag/rdbms/orcl/orcl
- 1 Diag Trace /home/app/oracle/diag/rdbms/orcl/orcl/trace
- 1 Diag Alert /home/app/oracle/diag/rdbms/orcl/orcl/alert
- 1 Diag Incident /home/app/oracle/diag/rdbms/orcl/orcl/incident
- 1 Diag Cdump /home/app/oracle/diag/rdbms/orcl/orcl/cdump
- 1 Health Monitor /home/app/oracle/diag/rdbms/orcl/orcl/hm
- 1 Default Trace File /home/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_ora_25071.trc
- 1 Active Problem Count 0
- 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技术支持。
其主要功能如下:
- adrci> help
- HELP [topic]
- Available Topics:
- CREATE REPORT
- ECHO
- EXIT
- HELP
- HOST
- IPS
- PURGE
- RUN
- SET BASE
- SET BROWSER
- SET CONTROL
- SET ECHO
- SET EDITOR
- SET HOMES | HOME | HOMEPATH
- SET TERMOUT
- SHOW ALERT
- SHOW BASE
- SHOW CONTROL
- SHOW HM_RUN
- SHOW HOMES | HOME | HOMEPATH
- SHOW INCDIR
- SHOW INCIDENT
- SHOW PROBLEM
- SHOW REPORT
- SHOW TRACEFILE
- SPOOL
(4)使用ADRCI清空日志
清空日志使用的是ADRCI工具的purge命令,关于该命令的用法,我们可以看文档:
- adrci> help purge
- Usage: PURGE [[-i <id1> | <id1> <id2>] |
- [-age <mins> [-type ALERT|INCIDENT|TRACE|CDUMP|HM|UTSCDMP]]]:
- Purpose: Purge the diagnostic data in the current ADR home. If no
- option is specified, the default purging policy will be used.
- Options:
- [-i id1 | id1 id2]: Users can input a single incident ID, or a
- range of incidents to purge.
- [-age <mins>]: Users can specify the purging policy either to all
- the diagnostic data or the specified type. The data older than <mins>
- ago will be purged
- [-type ALERT|INCIDENT|TRACE|CDUMP|HM|UTSCDMP]: Users can specify what type of
- data to be purged.
- Examples:
- purge
- purge -i 123 456
- 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:清空前
- [oracle@localhost orcl]$ pwd
- /home/app/oracle/diag/rdbms/orcl/orcl
- [oracle@localhost orcl]$ du -ks *
- 4 alert
- 4 cdump
- 4 hm
- 4 incident
- 4 incpkg
- 8 ir
- 4 lck
- 2568 metadata
- 4 stage
- 4 sweep
- 2232 trace #trace大小为2232
step2:清空60分钟前的trace日志
- adrci> show homes
- ADR Homes:
- diag/rdbms/orcl/orcl
- adrci> purge -age 60 -type trace
step3:再次查看大小
- [oracle@localhost orcl]$ du -ks *
- 4 alert
- 4 cdump
- 4 hm
- 4 incident
- 4 incpkg
- 8 ir
- 4 lck
- 2568 metadata
- 4 stage
- 4 sweep
- 240 trace #trace大小为240
(5)listener.log文件清理
【参考】
1.Oracle 11g 新特性 -- 自动诊断资料档案库(ADR) 说明
2.http://blog.itpub.net/29367946/viewspace-1683574/
自动诊断档案库(ADR)学习的更多相关文章
- Oracle 自己主动诊断资料档案库 (ADR)、自己主动诊断工作流、ADRCI工具
1.自己主动诊断工作流: 通过一个始终处于打开状态的内存中跟踪工具,数据库组件能够在第一次出现严重错误故障时捕获诊断数据.系统将自己主动维护一个称为"自己主动诊断资料档案库"的特殊 ...
- [转]Oracle10g数据库自动诊断监视工具(ADDM)使用指南
第一章 ADDM简介 在Oracle9i及之前,DBA们已经拥有了很多很好用的性能分析工具,比如,tkprof.sql_trace.statspack.set even ...
- 面图层拓扑检查和错误自动修改—ArcGIS案例学习笔记
面图层拓扑检查和错误自动修改-ArcGIS案例学习笔记 联系方式:谢老师,135_4855_4328,xiexiaokui#139.com 数据源: gis_ex10\ex01\parcel.shp, ...
- 基于TORCS和Torch7实现端到端连续动作自动驾驶深度强化学习模型(A3C)的训练
基于TORCS(C++)和Torch7(lua)实现自动驾驶端到端深度强化学习模型(A3C-连续动作)的训练 先占坑,后续内容有空慢慢往里填 训练系统框架 先占坑,后续内容有空慢慢往里填 训练系统核心 ...
- 图像分类学习:X光胸片诊断识别----迁移学习
引言 刚进入人工智能实验室,不知道是在学习机器学习还是深度学习,想来他俩可能是一个东西,查阅之后才知道这是两个领域,或许也有些交叉,毕竟我也刚接触,不甚了解. 在我还是个纯度小白之时,写下这篇 ...
- 【转】shell脚本实现多台服务器自动巡检--可参考学习
shell脚本实现多台服务器自动巡检 摘要: 运维服务一个项目二十多台(或者多台)服务器,每天要做服务器的性能巡检工作是查看服务器的CPU.内存.磁盘空间是否在正常值范围内.像 ...
- Abp 中 模块 加载及类型自动注入 源码学习笔记
注意 互相关联多使用接口注册,所以可以 根据需要替换. 始于 Startup.cs 中的 通过 AddApplication 扩展方法添加 Abp支持 1 services.AddApplicati ...
- Java自动内存管理机制学习(二):垃圾回收器与内存分配策略
备注:本文引自<深入理解Java虚拟机第二版>仅供参考 图片来自:http://csdn.net/WSYW126 垃圾收集器与内存分配策略 概述 GC要完成3件事: 哪些内存需要回收? 什 ...
- Java自动内存管理机制学习(一):Java内存区域与内存溢出异常
备注:本文引用自<深入理解Java虚拟机第二版> 2.1 运行时数据区域 Java虚拟机在执行Java程序的过程中把它所管理的内存划分为若干个不同的数据区域.这些区域都有各自的用途,以及创 ...
随机推荐
- HyperLink 控件
yperLink就是一个可以用后台代码控制生成的超链接 1,声明,创建 2,设定text 3,设定navigateurl 4,将他添加到某个容器中 为什么没有保留第一次添加的连接? l 按钮1:向pa ...
- 调试.NET程序OutOfMemoryException (转载)
原文地址:http://blog.csdn.net/directionofear/article/details/8009427 应用程序调试,需要有个常规的调试思路,应对各类问题最基本的调试手段是什 ...
- Junit入门教程
做开发的时候,完成一个接口.方法.函数或者功能等,需要测试,是否有bug,有逻辑错误.这里有两种方案测试 1. 在main中写测试方法 2. 使用开源框架,这里使用的junit main写测试方法优点 ...
- keepalived+nginx 高可用集群
一.什么是高可用? nginx做负载均衡,能达到分发请求的目的,但是不能很好的避免单点故障. 1.nginx集群单点问题 分发器宕机怎么处理? 假如nginx服务器挂掉了,那么所有的服务也会跟着瘫 ...
- html的标签(1)
首先补充上一次没有讲到的,html文件后缀名有2种,一种是.htm,一种是.html..html是老的教科书里面的文件后缀名,.html是新的教科书的文件后缀名..htm文件是不完整的支持html5的 ...
- html和css命名-望文生义
HTML+CSS命名规则 在一个内容较多的HTML页面中,需要设计许多不同的框架,再为这些不同的框架及内容进行分类,给予相应的名称,从而使得网页结构更加清晰,也为工作提供了方便.许多新手朋友在设计一个 ...
- mac的svn
http://xclient.info/s/cornerstone.html?t=c5242a66e53f1d866afe8c42aace2738c04ce9ee#versions 破解版的地址 打开 ...
- webstorm上传vue代码至git
Git在push时候,提示:push to origin/master was rejected 解决方案如下: 提交代码顺序 webstorm右键项目名称==>Git==>Commit ...
- http状态码汇总及代表意思
成功2×× 成功处理了请求的状态码.200 服务器已成功处理了请求并提供了请求的网页.204 服务器成功处理了请求,但没有返回任何内容. 重定向3×× 每次请求中使用重定向不要超过 5 次.301 请 ...
- ASP.NET MVC 音乐商店 - 5 通过支架创建编辑表单 续
查看 StoreManager 控制器的代码 现在,Store Manager 控制器中已经包含了一定数量的代码,我们从头到尾重新过一下. 首先,在控制器中包含了标准的 MVC 控制器的代码,为了使用 ...