日期:2014-05-16  浏览次数:20501 次

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


 

 

一.自动诊断资料档案库(ADR)

 

1.1 ADR 说明

ADR (AutomaticDiagnostic Repository) ,ADR 是一个基于文件的资料档案库,用于存放数据库诊断数据(如跟踪、意外事件转储和程序包、预警日志、健康状况监视器报告、核心转储等)。它对存储在任何数据库外的多个实例和多种产品使用一个统一的目录结构。因此,可用于数据库关闭时的问题诊断。从Oracle Database 11g R1 开始,数据库、自动存储管理(ASM)、集群就绪服务(CRS) 和其它Oracle 产品或组件将所有诊断数据都存储在ADR 中。每种产品的每个实例都将诊断数据存储在自己的ADR 主目录下。例如,在具有共享存储和ASM 的Real Application Clusters 环境中,每个数据库实例和每个ASM 实例在ADR 中都有一个主目录。ADR的统一目录结构对各种产品和实例使用一致的诊断数据格式,而且还有一组统一的工具,使客户和Oracle 技术支持可以相互关联并分析多个实例的诊断数据。

 

从Oracle Database11g R1 开始,将忽略传统的…_DUMP_DEST 初始化参数。ADR 根目录又称为ADR 基目录,其位置由DIAGNOSTIC_DEST 初始化参数设定。如果省略此参数或将其保留为空,数据库将在启动时按如下方式设置DIAGNOSTIC_DEST:

如果已设置了环境变量ORACLE_BASE,则将DIAGNOSTIC_DEST 设置为$ORACLE_BASE。

如果未设置环境变量ORACLE_BASE,则将DIAGNOSTIC_DEST 设置为$ORACLE_HOME/log。

 

--验证:

[18:02 oracle@dave ~]$echo $ORACLE_BASE

/u01/app/oracle

[18:03 oracle@dave ~]$ora param diag

Session altered.

 

NAME                            ISDEFAULTSESMO  SYSMOD    VALUE

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

diagnostic_dest           FALSE     FALSE  IMMEDIATE   /u01/app/oracle

 

我这里设置了ORACLE_BASE 的环境变量,所以这里的diagnostic_dest 参数使用了ORACLE_BASE的值。

 

ADR 基目录中可以包含多个ADR 主目录,其中每个ADR 主目录都是一个根目录,用于存放特定Oracle 产品或组件的特定实例的全部诊断数据。前一张幻灯片的图形中显示了数据库的ADR主目录位置。

另外,还生成了两个预警文件。一个是文本形式的预警文件(与早期版本Oracle DB 使用的预警文件非常相似),位于各个ADR 主目录的TRACE 目录下。还有一个符合XML 标准的预警消息文件,存储在ADR 主目录内的ALERT 子目录下。可使用EnterpriseManager 和ADRCI 实用程序查看文本格式的预警日志(已删除了XML 标记)。

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

HM 目录包含由健康状况监视器生成的检查器运行报告。

还有一个METADATA 目录,其中包含资料档案库自身的重要文件。可以将此目录比作数据库字典。可使用ADRCI 查询此字典。

ADR 命令解释器(ADRCI) 是一个实用程序,可用于执行支持工作台允许的所有任务(但是仅限于在命令行环境中)。使用ADRCI 实用程序,您还可以查看ADR 中跟踪文件的名称以及删除了XML 标记、具有和不具有内容筛选功能的预警日志。

此外,还可以使用V$DIAG_INFO列出一些重要的ADR 位置。

 

 

使用tree命令查看目录结构:

[18:11 oracle@dave /u01/app/oracle/diag]$tree

.

|-- asm

|-- clients

|-- crs

|-- diagtool

|-- lsnrctl

|-- netcman

|-- ofm

|-- rdbms

|  `-- dave

|      |-- dave

|      |   |-- alert

|      |   |   `-- log.xml

|      |   |-- cdump

|      |   |   |-- core_16650

|      |   |   |-- core_18804

|      |   |   `-- core_6039

|      |   |-- hm

|      |   |-- incident

|      |   |   |-- incdir_13378

|      |   |   |  |-- dave_cjq0_16650_i13378.trc

|      |   |   |  `-- dave_cjq0_16650_i13378.trm

|      |   |   |-- incdir_1