連載
» 2008年08月08日 00時00分 公開

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が設定されている場合

DIAGNOSTIC_DEST = ORACLE_BASE

・ORACLE_BASEが設定されていない場合

DIAGNOSTIC_DEST = ORACLE_HOME/log

 ADR_BASE以下には「diag」というディレクトリが存在し、その配下にすべての情報が入っています。

ADR_HOME

 ADR_BASEの下に置かれます。トレースファイル、アラート・ログを保存するディレクトリです。インスタンス用の保存場所がそれぞれ<製品_id>と<instance_id>で識別されます。

 上記ディレクトリは、「V$DIAG_INFOビュー」で確認できます。

SQL> select * from v$diag_info;
   INST_ID NAME                           VALUE
---------- ------------------------------ --------------------------------------------------
         1 Diag Enabled                   TRUE
         1 ADR Base                       c:\11.0
         1 ADR Home                       c:\11.0\diag\rdbms\110\110
         1 Diag Trace                     c:\11.0\diag\rdbms\110\110\trace
         1 Diag Alert                     c:\11.0\diag\rdbms\110\110\alert
         1 Diag Incident                  c:\11.0\diag\rdbms\110\110\incident
         1 Diag Cdump                     c:\11.0\diag\rdbms\110\110\cdump
         1 Health Monitor                 c:\11.0\diag\rdbms\110\110\hm
         1 Default Trace File             c:\11.0\diag\rdbms\110\110\trace\110_ora_3260.trc
         1 Active Problem Count           3
         1 Active Incident Count          199

 具体的なADRの中身は以下のような構造になっています。

図1 ADRの内容(ディレクトリ構造) 図1 ADRの内容(ディレクトリ構造)

診断データの階層に含まれるファイル

 以下はデータベースインスタンスのADRのディレクトリの各診断データの階層に格納されるファイルです。

alert:

 XML形式のアラート・ログです。11gよりXML形式のアラート・ログが出力されるようになりました。このXML形式のアラート・ログは、ADRCIユーティリティを使用してテキスト形式(XMLタグは削除されます)で表示できます。

cdump:

 coreファイルが出力されるディレクトリです。

incident:

 複数のサブディレクトリがあり、各サブディレクトリには特定のインシデントの名前が付けられ、そのインシデントのみに関するダンプが含まれます(インシデントに関しては、後述)。

trace:

 バックグラウンドプロセスとサーバプロセスのトレースファイル、およびSQL トレースファイルが出力されるディレクトリです。従来のテキストタイプのアラート・ログはここに出力されます。

そのほか:

 ADRホームのそのほかのサブディレクトリには、インシデントパッケージ、状態モニタレポートなどの情報が格納されます。

       1|2|3|4 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。