16.1 自動診断リポジトリの理解

自動診断リポジトリ(ADR)は、システム全体のトレースおよびロギング用の中央リポジトリです。

このリポジトリは、ネットワーク・トレースおよびロギング情報などの診断情報を蓄積するための、ファイルベースの階層データ・ストアです。

ADRホームは、Oracle製品のインスタンスに割り当てられるADRディレクトリのユニットです。各データベース・インスタンスに独自のADRホームが割り当てられます。同様に、各リスナー、Oracle Connection Managerおよびクライアント・インスタンスにも独自のADRホームが割り当てられます。

プロセス障害の場合は、インシデントが生成されます。インシデント・ダンプ・ファイルは、ADR_BASE/ADR_HOME/incident/ディレクトリにあり、ORACLE_BASE変数が設定されている場合、ADR_BASEはデフォルトでORACLE_BASEになります。この変数が設定されていない場合、ADR_BASEORACLE_HOME/logになります。ADR_BASEは任意の場所に設定できます。

インシデント・ダンプ・ファイルの場所は、プロセス・トレース・ファイル内でがわかります。

ADRホームの場所は、ADRの基本ディレクトリから始まる次のパスで指定されます。

diag/product_type/product_id/instance_id

次の表では、Oracle Net Listenerインスタンスのパス・コンポーネントの値を示します。

表16-1 Oracle Net ListenerインスタンスのADRホームのパス・コンポーネント

パス・コンポーネント Oracle Net Listenerの値

product_type

tnslsnr

product_id

ホスト名

instance_id

リスナーの別名

次の図では、Oracle Net ListenerインスタンスのADRのディレクトリ階層を示します。その他のOracle製品またはコンポーネント(Oracle Automatic Storage Management(Oracle ASM)またはOracle Databaseなど)に対するその他のADRホームが、この階層内の同じADRベースの下に存在する場合があります。

図16-1 Oracle Net Listenerインスタンスのディレクトリ構造

図16-1の説明が続きます
「図16-1 Oracle Net Listenerインスタンスのディレクトリ構造」の説明

次の表では、Oracle Connection Managerインスタンスのパス・コンポーネントの値を示します。

表16-2 Oracle Connection ManagerインスタンスのADRホームのパス・コンポーネント

パス・コンポーネント Oracle Connection Managerの値

product_type

netcman

product_id

ホスト名

instance_id

Oracle Connection Managerインスタンス名

次の図では、Oracle Connection ManagerインスタンスのADRのディレクトリ階層を示します。その他のOracle製品またはコンポーネント(Oracle ASMまたはOracle Databaseなど)に対するその他のADRホームが、この階層内の同じADRベースの下に存在する場合があります。

図16-2 Oracle Connection Managerインスタンスのディレクトリ構造

図16-2の説明が続きます
「図16-2 Oracle Connection Managerインスタンスのディレクトリ構造」の説明

ADRホーム・ディレクトリ内のサブディレクトリでは、各インスタンス(データベース、リスナー、Oracle Connection Managerまたはクライアント)により診断データが格納されます。次の表では、前の図で示したすべてのサブディレクトリと、その内容を一覧で示します。

表16-3 ADRホームのサブディレクトリ

サブディレクトリ名 内容

alert

log.xmlという名前のXML形式のログ。

cdump

コア・ファイル。

incident

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

trace

バックグラウンド・プロセスとサーバー・プロセスのトレース・ファイル、SQLトレース・ファイル、およびalertディレクトリのlog.xmlファイルのテキスト・バージョン

(others)

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

ADR_BASEディレクトリは、1つ以上のADRホームが置かれる物理的な場所です。概念的には、これはADRのルート・ディレクトリです。

非ADR(つまりDIAG_ADR_ENABLEDパラメータがOFFに設定されている)の診断およびトレースの方法が現在も主流であり適用可能ですが、ADRが有効である場合、このパラメータは無視されます。ADRはデフォルトで有効になります。

診断パラメータは次の構成ファイルにあります。

  • sqlnet.ora (クライアント用)

  • listener.ora (リスナー用)

  • cman.ora (Oracle Connection Manager用)

次の表では、ADRベースの診断と非ADRベースの診断の両方で使用される、sqlnet.oraファイル内にある診断パラメータの使用について比較しています。

表16-4 sqlnet.oraファイルの診断パラメータの比較

パラメータ DIAG_ADR_ENABLED=ON DIAG_ADR_ENABLED=OFF

ADR_BASE

有効

無効

ENABLE_CONCISE_LOGS

有効

有効

LOG_SUPPRESSED_COUNT

有効

有効

LOG_SUPPRESSED_TIME

有効

有効

LOG_DIRECTORY_CLIENT

無効

有効

LOG_FILE_CLIENT

無効

有効

LOG_DIRECTORY_SERVER

無効

有効

TRACE_DIRECTORY_CLIENT

無効

有効

TRACE_DIRECTORY_SERVER

無効

有効

TRACE_LEVEL_CLIENT

有効

有効

TRACE_LEVEL_SERVER

有効

有効

TRACE_FILE_CLIENT

無効

有効

TRACE_FILE_SERVER

無効

有効

TRACE_UNIQUE_CLIENT

無効

有効

次の表では、ADRベースの診断と非ADRベースの診断の両方で使用される、listener.oraファイル内にある診断パラメータの使用について比較しています。

表16-5 listener.oraファイルの診断パラメータの比較

パラメータ DIAG_ADR_ENABLED=ON DIAG_ADR_ENABLED=OFF

ADR_BASE_listener_name

有効

無効

LOGGING_listener_name

有効

有効

TRACE_LEVEL_listener_name

有効

有効

TRACE_TIMESTAMP_listener_name

有効

有効

LOG_DIRECTORY_CLIENT_listener_name

無効

有効

LOG_FILE_CLIENT_listener_name

無効

有効

TRACE_DIRECTORY_CLIENT_listener_name

無効

有効

TRACE_FILELEN_listener_name

無効

有効

TRACE_FILENO_listener_name

無効

有効

次の表では、ADRベースの診断と非ADRベースの診断の両方で使用される、cman.oraファイル内にある診断パラメータの使用について比較しています。

表16-6 cman.oraファイルの診断パラメータの比較

パラメータ DIAG_ADR_ENABLED=ON DIAG_ADR_ENABLED=OFF

ADR_BASE

有効

無効

LOG_LEVEL

有効

有効

TRACE_LEVEL

有効

有効

TRACE_TIMESTAMP

有効

有効

LOG_DIRECTORY

無効

有効

TRACE_DIRECTORY

無効

有効

TRACE_FILELEN

無効

有効

TRACE_FILENO

無効

有効

16.1.1 ADRCI: ADRコマンド・インタプリタ

ADRCIは、故障診断機能インフラストラクチャに使用されるコマンドライン・ツールです。ADRCIでは、次のことができます。

  • ADR内で診断データを表示

  • インシデントおよび問題に関する情報をZIPファイルにパッケージ化し、Oracleサポート・サービスに転送

診断データには、インシデントおよび問題に関する説明、トレース・ファイル、ダンプ、状態監視レポート、アラート・ログ・エントリなどが含まれます。

ADRCIには豊富なコマンド・セットがあり、対話型モードまたはスクリプト内で使用できます。さらに、ADRCIは、SQL*PlusがSQLコマンドおよびPL/SQLコマンドを使用してスクリプトを実行するのと同じ方法で、ADRCIコマンドのスクリプトを実行できます。

ADRCIを使用してトレース・ファイルを表示するには、コマンドラインでADRCIと入力します。次に示すのは、クライアントの確認に使用される共通のADRCIコマンドです。

クライアント側

adrci> SHOW ALERT
adrci> SHOW BASE -product client
adrci> SET BASE -product client
adrci> SHOW TRACEFILE
adrci> SHOW TRACE trace_file.trc
adrci> SHOW SPOOL

前述のコマンドで、SHOW ALERTコマンドはlog.xmlファイルをVIなどのテキスト・エディタで表示します。SHOW BASE -product clientコマンドは、クライアントのADR_BASEディレクトリの値を表示します。表示された値は、SET BASEコマンドのclientに使用します。

次に示すのは、サーバーの確認に使用される共通のADRCIコマンドです。

サーバー側

adrci> SHOW BASE
adrci> SHOW TRACEFILE
adrci> SHOW TRACE trace_file.trc

さらに対象を絞ったOracle Netトレース・ファイル分析を行うには、その他のADRCIコマンド・オプションを使用できます。ヘルプ・ドキュメントにアクセスするには、ADRCIプロンプトでHELPと入力します。

関連項目:

ADRCIの詳細は、『Oracle Databaseユーティリティ』を参照してください。