Oracle 11g自动诊断信息库(Automatic Diagnostic Repository,ADR)概述

时间:2022-04-29 06:43:29

在Oracle 11g中引入了自动诊断信息库(ADR),它提供了一个统一而且一致的机制来存储、格式化并定位所有的数据库诊断信息(易于使用的文件结构)。ADR关联各种组件(比如Oracle RAC、Oracle Clusterware、OCI、Net、进程等)的错误,并自动为严重的错误生成事故和提供事故管理功能。因此,ADR可以显著减少解决事故和问题的时间。

通常在使用传统的初始化参数的时候,比如BACKGROUND_DUMP_DEST、CORE_DUMP_ DEST和USER_DUMP_DEST等,如果想让清理文件的过程自动进行,就必须使用自定义过程去手动清理。用ADR和ADR的命令行界面(ADRCI),您可以设置控制这些文件保存时间的策略:

  1. adrci> set control (SHORTP_POLICY = 360 ) 
  2. adrci> set control (LONGP_POLICY = 4380 ) 

使用ADR时,传统的CORE_DUMP_DEST、BACKGROUND_DUMP_DEST和USER_DUMP_DEST位置改变为DIAGNOSTIC_DEST。因此,如果指定了参数DIAGNOSTIC_DEST,由原来的参数设置的位置将被忽略。

使用ADR时的位置变化如下:

原始位置新位置

CORE_DUMP_DESTDIAGNOSTIC_DEST/diag/rdbms///cdump

BACKGROUND_DUMP_DEST

(Alert Log text)

(Alert Log XML)DIAGNOSTIC_DEST/diag/rdbms///trace

DIAGNOSTIC_DEST/diag/rdbms///alert

BACKGROUND_DUMP_DESTDIAGNOSTIC_DEST/diag/rdbms///trace

USER_DUMP_DESTDIAGNOSTIC_DEST/diag/rdbms//< INSTANCENAME >/trace

如下是ADR文件位置的缩略列表:

  1. DIAGNOSTIC_DEST/diag/rdbms/<DBNAME>/<INSTANCENAME>/trace 
  2. DIAGNOSTIC_DEST/diag/rdbms/<DBNAME>/<INSTANCENAME>/alert 
  3. DIAGNOSTIC_DEST/diag/rdbms/<DBNAME>/<INSTANCENAME>/cdump 
  4. DIAGNOSTIC_DEST/diag/rdbms/<DBNAME>/<INSTANCENAME>/incident 
  5. DIAGNOSTIC_DEST/diag/rdbms/<DBNAME>/<INSTANCENAME>/hm 
  6. DIAGNOSTIC_DEST/diag/rdbms/<DBNAME>/<INSTANCENAME>/incpkg 
  7. DIAGNOSTIC_DEST/diag/rdbms/<DBNAME>/<INSTANCENAME>/ir 
  8. DIAGNOSTIC_DEST/diag/rdbms/<DBNAME>/<INSTANCENAME>/lck 
  9. DIAGNOSTIC_DEST/diag/rdbms/<DBNAME>/<INSTANCENAME>/metadata 
  10. DIAGNOSTIC_DEST/diag/rdbms/<DBNAME>/<INSTANCENAME>/sweep 
  11. DIAGNOSTIC_DEST/diag/rdbms/<DBNAME>/<INSTANCENAME>/stage 

在默认情况下,DIAGNOSTIC_DEST 的位置是 $ORACLE_HOME/log

然而,如果在环境变量中设置了ORACLE_BASE,那么DIAGNOSTIC_DEST就会被设置为$ORACLE_BASE