11gからの新管理機構「ADR」を理解しよう:Oracleトラブル対策の基礎知識(2)(1/4 ページ)
11gからは、ログの管理機構に大幅な変更が加わり、Automatic Diagnostic Repository(以下、ADR)で管理されるようになりました。今回は、ADR、ADRに格納されている診断データ、および診断データを参照するためのユーティリティであるADRCIの使用方法について解説を行います。
Automatic Diagnostic Repositoryとは?
連載バックナンバー
今回の主な内容
- Automatic Diagnostic Repositoryとは?
- ADRのディレクトリ構造について
- 診断データの階層に含まれるファイル
- 11gでの新しい概念:「問題」と「インシデント」
- インシデントのフラッド制御
- インシデントパッケージングサービス(IPS)
- ADRCIユーティリティ
データベースインスタンスおよびASMインスタンスのアラート・ログ、およびトレースファイルは、各インスタンスに設定されている
・background_dump_dest
・user_dump_dest
で指定されたディレクトリに出力されていました。
リスナー・ログは、listener.ora内で指定されるパラメータ
・LOG_DIRECTORY_<LISTENER_NAME>
(デフォルトでは、ORACLE_HOME/network/logが指定される)
で指定されたディレクトリに出力されていました。
11g以降では、これらの、コンポーネントごとに出力先が異なっていたログをADRで一括格納/管理できるようになりました。これによって、ログの管理が容易になっただけでなく、出力先と動作が変更されたことで、障害発生時の診断情報の収集を敏速かつ正確に行えるようになりました。
補足
いままでの初期化パラメータの「BACKGROUND_DUMP_DEST」と「USER_DUMP_DEST」は11gでは廃止されています(設定してもエラーにはなりませんが、無視されます)。
ADRのディレクトリ構造について
まずはADRのディレクトリ構造を理解しておきましょう。デフォルトでは以下の環境変数を基に導出されます。
ADR_BASE
ADRのルートとなるディレクトリです。初期化パラメータ「DIAGNOSTIC_DEST」で指定します。 デフォルトでは以下のように設定されています。
・ORACLE_BASEが設定されている場合
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
・ORACLE_BASEが設定されていない場合
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
ADR_BASE以下には「diag」というディレクトリが存在し、その配下にすべての情報が入っています。
ADR_HOME
ADR_BASEの下に置かれます。トレースファイル、アラート・ログを保存するディレクトリです。インスタンス用の保存場所がそれぞれ<製品_id>と<instance_id>で識別されます。
上記ディレクトリは、「V$DIAG_INFOビュー」で確認できます。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
具体的なADRの中身は以下のような構造になっています。
診断データの階層に含まれるファイル
以下はデータベースインスタンスのADRのディレクトリの各診断データの階層に格納されるファイルです。
alert:
XML形式のアラート・ログです。11gよりXML形式のアラート・ログが出力されるようになりました。このXML形式のアラート・ログは、ADRCIユーティリティを使用してテキスト形式(XMLタグは削除されます)で表示できます。
cdump:
coreファイルが出力されるディレクトリです。
incident:
複数のサブディレクトリがあり、各サブディレクトリには特定のインシデントの名前が付けられ、そのインシデントのみに関するダンプが含まれます(インシデントに関しては、後述)。
trace:
バックグラウンドプロセスとサーバプロセスのトレースファイル、およびSQL トレースファイルが出力されるディレクトリです。従来のテキストタイプのアラート・ログはここに出力されます。
そのほか:
ADRホームのそのほかのサブディレクトリには、インシデントパッケージ、状態モニタレポートなどの情報が格納されます。
Copyright © ITmedia, Inc. All Rights Reserved.