自動診断リポジトリ(ADR)・インシデント

Oracle11g より ORA-600、ORA-7445、ORA-4031などクリティカルエラーが発生した場合、
自動診断リポジトリ( ADR : Automatic Diagnostic Repository )が作成される。


ADR とは

ADR はトレースファイルや診断データを扱うシステム管理のリポジトリで、
インシデント、アラート、トレース情報、コアダンプ等を保持している。
ベースディレクトリは、初期化パラメータの DIAGNOSTIC_DEST のパスとなる。

パスの確認方法

動的パフォーマンスビューの v$diag_info で確認できる。

ビューの定義

SQL> desc v$diag_info

 名前          NULL?    型
 ----------- -------- --------------
 INST_ID              NUMBER
 NAME                 VARCHAR2(64)
 VALUE                VARCHAR2(512)

データイメージ

SQL> select * from v$diag_info;

 INST_ID NAME                  VALUE
-------- --------------------- ------------------------------------------------
       1 Diag Enabled          TRUE
       1 ADR Base              /opt/app/oracle
       1 ADR Home              /opt/app/oracle/diag/rdbms/orcl/ORCL
       1 Diag Trace            /opt/app/oracle/diag/rdbms/orcl/ORCL/trace
       1 Diag Alert            /opt/app/oracle/diag/rdbms/orcl/ORCL/alert
       1 Diag Incident         /opt/app/oracle/diag/rdbms/orcl/ORCL/incident
       1 Diag Cdump            /opt/app/oracle/diag/rdbms/orcl/ORCL/cdump
       1 Health Monitor        /opt/app/oracle/diag/rdbms/orcl/ORCL/hm
       1 Default Trace File    /opt/app/oracle/diag/rdbms/orcl/ORCL/trace
       1 Active Problem Count  1
       1 Active Incident Count 1

11行が選択されました。

出力ディレクトリ

例えば Diag Incident のディレクトリには、その配下に更に対象インシデント毎に
incdir_<番号>のディレクトリが作成され、中には対応するトレースファイルが出力
されている。アラートログにもインシデントのパスが記載されるので、それから特定できる。

/opt/app/oracle/diag/rdbms/orcl/ORCL/incident
  incdir_xxx/
    ORCL_ora_<プロセスID>_ixxx.trc
    ORCL_ora_<プロセスID>_ixxx.trm
  incdir_yyy/
    ORCL_ora_<プロセスID>_ixxx.trc
    ORCL_ora_<プロセスID>_ixxx.trm

トレースファイルの中には、ORA エラーや Call Stack Trace、Binary Stack Dump
などの情報が記載されている。

絞込むためには、インシデント番号や時間範囲をキーとして、パッケージ作成を行う。


関連記事

人気ブログランキングへ

このページの先頭へ