本文主要是介绍oracle的adr,Oracle 11g 诊断新特性——ADR 简介,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
ADR(Automatic Diagnostic
Repository)是一个基于文件的档案库,用于存放数据库的诊断信息,例如跟踪文件,意外dump文件,IPS包,警告日志文件,健康监控报告,核心dump文件以及其它诊断信息。ADR的根目录叫做ADR
base,
位置通过参数DIAGNOSTIC_DEST设置。ADR拥有统一的目录结构,在数据库之外存储多个产品和实例的诊断信息,因此即使在数据库关闭时仍然可以进行问题诊断。
从Oracle 11gR1 开始,ADR用于存储数据库,ASM,CRS和其它产品或组件(如listener)的诊断信息。每一个实例或者产品拥有各自的ADR home路径。例如在一个RAC环境下,ASM, 数据库实例拥有单独的ADR home。
名词解释
严重错误
(Critical
Error)是指会产生跟踪文件的Oracle内部错误。Oracle把他们划分为不同的类别,内部错误(ORA-600),系统访问异常(ora-7445,ora-3113),锁相关的错误,坏块(ORA-1578)和内存不足(ORA-4030/4031)等。
事件
(Incident)是指一次严重错误,每出现一次严重错误,就会产生一次事件。ADR会跟踪每一个事件并产生唯一的事件ID。
问题
(Problem)是一组严重错误,他们拥有一组共同的属性。ADR跟踪每一个问题,并且给每一个问题产生一个唯一的问题ID.
改变
从11gR1开始,所有的诊断信息都保存在ADR中。ADR是一个外部的,迷你的XML数据库。
跟踪文件和进程的1:1对应不再存在。虽然进程跟踪文件仍然存在,但是它只记录每个事件的trc和trm文件的位置。Oracle为每一个事件产生一对儿文件——trc和trm文件。trc文件存放诊断信息,而trm文件存放元数据。
另外,文件的内部结构也发生了改变。例如一个XML格式的文件被引入,存放在ADR
home的alert路径下(ADR_BASE/diag/rdbms///alert/log.xml)。trc文件由若干个标记过的XML记录构成,每个记录都是分层排序过的。这种改变更加容易找到文件中我们感兴趣的部分的信息。
Diagnostic Frame Work(DFW)是如何工作的
1. 当一个严重错误发生时,DDE(diagnostic data extractor)被出发,并将相应的诊断信息写入到事件跟踪文件。
2. ADR中的诊断信息可以通过ADRCI(命令行工具)或者SWB(Support WorkBench,图形界面)被访问。
3. 通过ADRCI或SWB从ADR中抽取诊断信息并创建包,这称之为事件打包服务(IPS)。查看诊断信息或上传IPS包到MOS。IPS包包含对应事件的所有诊断信息。
使用ADRCI或SWB创建IPS包的步骤
ADRCI
1. 进入ADRCI
# adrci
2. 显示存在的ADR home
adrci>show home
4. 设定ADR home
adrci>set home
5. 显示所有问题
adrci>show problem
6. 显示所有事件
adrci>show incident
7. 打包事件的诊断信息
adrci>ips pack incident
SWB
1. 登录到企业管理器
2. 单击链接‘support workbench’
3. 选择‘all active’的问题
4. 单击‘问题id’查看对应的事件
5. 选择相应的事件
6. 单击 ‘quick package’
7. 输入包名,描述信息,选择是否上传到oracle support
8. 查看包中的信息
9. 选择‘立即’创建包,并单击按钮‘submit’
这篇关于oracle的adr,Oracle 11g 诊断新特性——ADR 简介的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!