🚀

【Silver DBA】自動診断リポジトリとは

2024/03/14に公開

自動診断リポジトリ (ADR)

ADR(Automatic Diagnostic Repository)。

DIAGNOSTIC_DEST初期化パラメータ
自動診断リポジトリのベースディレクトリを設定。(ADRベース)
ADRホームにログファイルを格納している。

ADRの実態は、ディレクトリにまとめられたログファイルの集合体。

ADRベース

DIAGNOSTIC_DEST初期化パラメータに設定されたディレクトリパス。
設定がない場合は、ORACLE_HOME/logになる。

製品のインスタンスごとにADRホームが決定される。
Oracle データベースの場合、ADRベース/diag/rdbms/データベース名/ORACLE_SIDになる。

ADRベースは異なる製品/インスタンスで共有できる。
ログファイルを一元的に管理するため、
異なる製品/インスタンスでも同一のADRベースを利用した方が良い。

ついでに

ADRに格納されるアラートログとトレースファイルについても解説。

アラートログ

ログファイルの一種。テキストファイルで出力される。
非常に重要な情報になるので、定期的に監視が必要。

アラートログは1インスタンスに1つ存在する。
ADRホームのtraceディレクトリに格納。ファイル名はalert_<ORACLE_SID>.log

以下のような情報が出力される。
・インスタンスの起動、終了処理の状況
・デフォルト値以外の初期化パラメータの値
・すべての内部エラー
・ブロック障害エラー
・デッドロックエラー
・その他重大なエラー
・ジョブの実行エラー
・実行した管理コマンド(CREATE/ALTER/DROP DATABASE/TABLESPACE/ARCHIVE LOGの出力、リカバリなど)とその実行結果

トレースファイル

障害の調査に必要な詳細な診断情報。

プロセストレースファイル

サーバープロセスやバックグラウンドプロセスなどの各種プロセスが出力した情報。
テキスト形式で出力。

Oracle 11g以降は、詳細情報はインシデントダンプファイルに記載されている。
ADRホームのtraceディレクトリに格納。
ファイル名は<インスタンスSID>_<プロセス名>_<OSプロセス番号>.trc

インシデントダンプファイル

各インシデントの診断情報は、各インシデントに対応するインシデントディレクトリに出力。
インシデントディレクトリは ADRホームの
incidentディレクトリ内のincdir_<インシデント番号>

インシデントダンプファイルには、
インシデントに関する詳細な診断情報がテキスト形式で出力されている。
ファイル名は<インスタンスSID>_<プロセス名>_<OSプロセス番号>_i<インシデント番号>.trc

致命的なエラーが発生するとき、アラートログにエラー番号が出力され、
それと同時にインシデントダンプファイルにエラー情報が出力される。

インシデントダンプファイルは一般に内容を理解するのが困難な形になっているので、
Oracleのサポート窓口に送付し、調査を依頼する必要がある。

Discussion