
Oracle製品を運用していると、ORA-、TNS-、CRS-のインシデントの調査が行われると思います。
そこで、Oracle製品を使用する上でログを管理するADR(自動診断リポジトリ)の機能があり、運用・保守に必要になります。
本記事は、ADRの概要からディレクトリ構造(ADR_BASE/ADR_HOME)、そしてADRCIの基本操作と運用例まで、実際のコマンド実行例を交えて分かりやすくまとめています。
- ADR(自動診断リポジトリ)の概要
- ADR_BASE/ADR_HOMEの関係性とディレクトリ構造
- ADRCIの基本操作と運用例
ADR(自動診断リポジトリ)とは
ADR(Automatic Diagnostic Repository/自動診断リポジトリ)は、Oracle製品の診断データ(アラートログ、トレースファイル、ヘルスモニターのレポートなど)を格納するファイルベースのリポジトリです。
複数のOracle製品や複数のインスタンスの診断データが管理され、統一化されたディレクトリ構造で管理されています。
保守・運用担当者は、ADRのファイルを管理する際にADRCIのコマンドツールを使用します。
ADRは、Oracle Database(ここではわかりやすくデータベースでたとえます。)を起動・運用する上で発生したログ(診断データ)の保管庫のようなイメージです。
ADRのディレクトリ構造
ADRのディレクトリは、ADR_BASEから始まり、diag/<product_type>/<product_id>/<instance_id>のADR_HOMEで構成されます。
SQL> show parameter diagnostic_dest
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
diagnostic_dest string /u01/app/oracleOracle AI DatabaseやListener、Clusterware、ASMなど、使用するOracle製品ごとにADR_HOMEが割り当てられます。
下記はOracle AI DatabaseやListenerごとのADR_HOMEになります。
- Oracle AI Database:diag/rdbms/orcl/orcl/
- Listener:diag/tnslsnr/learnbytebybyte/listener
/u01/app/oracle ($ORACLE_BASE / $ADR_BASE)
└── diag
├── acfs
├── afdboot
├── apx
├── asm
<省略>
├── rdbms
│ └── orcl
│ └── orcl ($ADR_HOME)
│ ├── alert
│ ├── cdump
│ ├── hm
│ ├── incident
│ ├── incpkg
│ ├── ir
│ ├── lck
│ ├── log
│ ├── metadata
│ ├── metadata_dgif
│ ├── metadata_pv
│ ├── stage
│ ├── sweep
│ └── trace
└── tnslsnr ($ADR_HOME)
└── learnbytebybyte
└── listener
├── alert
├── cdump
├── incident
├── incpkg
├── lck
├── log
├── metadata
├── metadata_dgif
├── metadata_pv
├── stage
├── sweep
└── traceADR_BASEがマンションの住所、Oracle製品(入居者)がADR_HOME(部屋番号)に診断データ(家具や家電)を置くイメージです。
ADR_HOME配下のディレクトリ
ADR_HOMEの配下のディレクトリは、次のような情報が格納されています。
- alert・・・XML形式のアラートログ・ファイル
- cdump・・・テキスト形式のコアファイル
- incident・・・重大エラーのインシデントファイル
- incpkg・・・インシデントに関連するファイルをパッケージ化したファイル
- lck・・・ADRが使用する内部ファイル
- log・・・デバッグログ
- metadata・・・ADRが使用する内部ファイル
- metadata_dgif・・・ADRが使用する内部ファイル
- metadata_pv・・・ADRが使用する内部ファイル
- stage・・・ADRが使用する内部ファイル
- sweep・・・ADRが使用する内部ファイル
- trace・・・テキスト形式のアラートログ、トレースファイル、ADRが使用する内部ファイル
ADRの機能一覧
ADRの主な機能は以下の3点になります。
- 診断データの一元管理
- ログ閲覧・インシデント調査・パッケージ化
- 診断データは保持ポリシーに基づいて自動削除
診断データの一元管理
ADRは、複数のOracle製品に関するアラートログやトレースファイル等の診断データ(ログ)を格納し、管理しています。
そのため、ADRCIコマンドで診断ログを一覧表示することが可能です。
adrci> show tracefile
diag/rdbms/orcl/orcl/trace/orcl_w00a_15057.trc
diag/rdbms/orcl/orcl/trace/orcl_w009_15054.trc
diag/rdbms/orcl/orcl/trace/orcl_w005_9341.trc
diag/rdbms/orcl/orcl/trace/orcl_w004_14668.trc
diag/rdbms/orcl/orcl/trace/orcl_w003_9355.trc
diag/rdbms/orcl/orcl/trace/orcl_w003_15036.trc
diag/rdbms/orcl/orcl/trace/orcl_w002_7805.trc
diag/rdbms/orcl/orcl/trace/orcl_w002_14665.trc
<省略>ログ閲覧・インシデント調査・パッケージ化
ADRCIで、診断データを閲覧/調査/収集(パッケージ化)するため、保守・運用に役立ちます。
- アラートログの確認:
show alert - インシデントの確認:
show incident - 問題の確認:
show problem - インシデント関連情報をパッケージ化:
ips create package ...
診断データは保持ポリシーに基づいて自動削除
ADRの診断データはライフサイクルがあり、Oracle製品ごとの保持ポリシーに基づいて診断データが自動削除(パージ)されます。
SHORTP_POLICYやLONGP_POLICYの保持ポリシーは時間単位を指定して、診断データの更新日の何時間後に自動削除対象になります。
adrci> show control
ADR Home = /u01/app/oracle/diag/rdbms/orcl/orcl:
*************************************************************************
ADRID SHORTP_POLICY LONGP_POLICY LAST_MOD_TIME LAST_AUTOPRG_TIME LAST_MANUPRG_TIME ADRDIR_VERSION ADRSCHM_VERSION ADRSCHMV_SUMMARY ADRALERT_VERSION CREATE_TIME SIZEP_POLICY PURGE_PERIOD FLAGS PURGE_THRESHOLD
-------------------- -------------------- -------------------- ---------------------------------------- ---------------------------------------- ---------------------------------------- -------------------- -------------------- -------------------- -------------------- ---------------------------------------- -------------------- -------------------- -------------------- --------------------
1335663986 504 504 2026-02-14 16:00:24.251680 +09:00 2026-02-11 21:06:49.258360 +09:00 1 2 116 1 2026-02-01 01:46:03.767133 +09:00 18446744073709551615 0 0 95
1 row fetchedまた、他にSIZEP_POLICYとPURGE_THRESHOLDの保持ポリシーの項目があります。
- SIZEP_POLICYは、ADR_HOMEのサイズ上限を指定します。
- PURGE_THRESHOLDは、SIZEP_POLICYより低い値を指定して、自動削除のトリガーサイズを指定します。
ADRCI(ADR Command Interpreter)とは
ADRCI(ADR Command Interpreter)は、ADRに格納された診断データを操作するためのコマンドツールです。
ADRCIを使用することで、アラートログやトレースファイルの確認、インシデントの調査、不要になった診断データの手動削除等が実行できます。
下記は、実際の実行ログをもとに、よく使う操作をまとめます。
- ADRCIの起動・設定
- インシデントと問題の確認
- インシデントのパッケージ化
- 診断ログの手動削除
ADRCIの起動・設定
最初にADRCIを起動し、操作対象のADR_HOME(診断データの保存場所)を選択します。
複数のOracle製品を使用している環境ではADR_HOMEが複数存在するため、調査したい対象(例:Oracle AI DatabaseのADR_HOME)に切り替えるのが大切です。
[oracle@learnbytebybyte ~]$ adrci
ADRCI: Release 23.0.0.0.0 - Production on 土 2月 14 14:56:14 2026
Copyright (c) 1982, 2026, Oracle and/or its affiliates. All rights reserved.
ADR base = "/u01/app/oracle"
adrci> show home
ADR Homes:
diag/rdbms/orcl/orcl
diag/tnslsnr/learnbytebybyte/listener
diag/diagtool/user_oracle/adrci_3193297974_116
diag/asmtool/user_oracle/host_3193297974_116
diag/orapwd/learnbytebybyte/kuzr
adrci> set home diag/rdbms/orcl/orclインシデントと問題の確認
ADRCIは、インシデントと問題の発生を把握することができます。
adrci> show incident
ADR Home = /u01/app/oracle/diag/rdbms/orcl/orcl:
*************************************************************************
INCIDENT_ID PROBLEM_KEY CREATE_TIME
-------------------- ----------------------------------------------------------- ----------------------------------------
117761 ORA-00600 2026-02-14 14:36:27.153214 +09:00
1 row fetched
adrci> show problem
ADR Home = /u01/app/oracle/diag/rdbms/orcl/orcl:
*************************************************************************
PROBLEM_ID PROBLEM_KEY LAST_INCIDENT LASTINC_TIME
-------------------- ----------------------------------------------------------- -------------------- ----------------------------------------
1 ORA-00600 117761 2026-02-14 14:36:27.153214 +09:00
1 row fetched問題とインシデントの違いは、事象と原因になります。
インシデントのパッケージ化
重大エラーの調査では、インシデント関連情報をまとめて収集し、サポート連携や社内共有に備えることがあります
ADRCIのIPS機能を使うと、指定したインシデントに紐づく情報を「収集パッケージ」としてまとめられます。
adrci> ips create package incident 117761
Created package 1 based on incident id 117761, correlation level typical
[oracle@learnbytebybyte orcl]$ ls -la incpkg/
合計 4
drwxr-x---. 3 oracle oinstall 19 2月 14 15:03 .
drwxr-x---. 16 oracle oinstall 4096 2月 1 01:46 ..
drwxr-x---. 3 oracle oinstall 19 2月 14 15:03 pkg_1
[oracle@learnbytebybyte orcl]$ ls -la incident/
合計 4
drwxr-x---. 3 oracle oinstall 27 2月 14 14:36 .
drwxr-x---. 16 oracle oinstall 4096 2月 1 01:46 ..
drwxr-x---. 2 oracle oinstall 6 2月 14 14:36 incdir_117761診断ログの手動削除
ADRの診断データは保持ポリシーにより自動削除されますが、検証や時間帯によって診断データが増加した際に手動でパージすることもあります。
[oracle@learnbytebybyte ~]$ cd /u01/app/oracle/diag/rdbms/orcl/orcl/
[oracle@learnbytebybyte orcl]$ ls -la trace/
合計 8232
drwxr-x---. 6 oracle oinstall 98304 2月 14 15:34 .
drwxr-x---. 16 oracle oinstall 4096 2月 1 01:46 ..
-rw-r-----. 1 oracle oinstall 465169 2月 14 15:34 alert_orcl.log
-rw-r-----. 1 oracle oinstall 22278 2月 14 14:27 attention_orcl.log
drwxr-x---. 2 oracle oinstall 72 2月 14 14:27 cdmp_20260214142710
drwxr-x---. 2 oracle oinstall 72 2月 14 15:32 cdmp_20260214153221
drwxr-x---. 2 oracle oinstall 72 2月 14 15:32 cdmp_20260214153222
drwxr-x---. 2 oracle oinstall 72 2月 14 15:34 cdmp_20260214153425
-rw-r-----. 1 oracle oinstall 1501 2月 11 22:31 orcl_aqpc_2519.trc
-rw-r-----. 1 oracle oinstall 1245 2月 11 22:31 orcl_aqpc_2519.trm
-rw-r-----. 1 oracle oinstall 1502 2月 12 23:46 orcl_aqpc_2700.trc
-rw-r-----. 1 oracle oinstall 1245 2月 12 23:46 orcl_aqpc_2700.trm
-rw-r-----. 1 oracle oinstall 1551 2月 11 22:31 orcl_arc0_2470.trc
<省略>
-rw-r-----. 1 oracle oinstall 1245 2月 12 23:46 orcl_w003_9355.trm
-rw-r-----. 1 oracle oinstall 1821 2月 11 22:07 orcl_w004_14668.trc
-rw-r-----. 1 oracle oinstall 1335 2月 11 22:07 orcl_w004_14668.trm
-rw-r-----. 1 oracle oinstall 1518 2月 12 23:46 orcl_w005_9341.trc
-rw-r-----. 1 oracle oinstall 1245 2月 12 23:46 orcl_w005_9341.trm
-rw-r-----. 1 oracle oinstall 1520 2月 11 22:30 orcl_w009_15054.trc
-rw-r-----. 1 oracle oinstall 1246 2月 11 22:30 orcl_w009_15054.trm
-rw-r-----. 1 oracle oinstall 1518 2月 11 22:30 orcl_w00a_15057.trc
-rw-r-----. 1 oracle oinstall 1246 2月 11 22:30 orcl_w00a_15057.trm
[oracle@learnbytebybyte orcl]$ date
2026年 2月 14日 土曜日 16:09:52 JST
[oracle@learnbytebybyte orcl]$ adrci
ADRCI: Release 23.0.0.0.0 - Production on 土 2月 14 16:09:58 2026
Copyright (c) 1982, 2026, Oracle and/or its affiliates. All rights reserved.
ADR base = "/u01/app/oracle"
adrci> set home diag/rdbms/orcl/orcl
adrci> #今回は10分以上の診断データは削除します。
adrci> purge -age 10
adrci> exit
[oracle@learnbytebybyte orcl]$ ls -la trace/
合計 580
drwxr-x---. 2 oracle oinstall 98304 2月 14 16:10 .
drwxr-x---. 16 oracle oinstall 4096 2月 1 01:46 ..
-rw-r-----. 1 oracle oinstall 465169 2月 14 15:34 alert_orcl.log
-rw-r-----. 1 oracle oinstall 22278 2月 14 14:27 attention_orcl.log
-rw-r-----. 1 oracle oinstall 11010 2月 14 16:09 orcl_dbrm_4666.trc
-rw-r-----. 1 oracle oinstall 5289 2月 14 16:09 orcl_dbrm_4666.trm
-rw-r-----. 1 oracle oinstall 3119 2月 14 16:10 orcl_dia0_4674_base_1.trc
-rw-r-----. 1 oracle oinstall 1580 2月 14 16:10 orcl_dia0_4674_base_1.trm
-rw-r-----. 1 oracle oinstall 33685 2月 14 16:09 orcl_mmon_4704.trc
-rw-r-----. 1 oracle oinstall 10284 2月 14 16:09 orcl_mmon_4704.trmもし、テキスト形式のログファイル(拡張子.log)も削除したい場合は、OSコマンドで削除する必要があります。
まとめ
ADR(Automatic Diagnostic Repository/自動診断リポジトリ)は、Oracle製品の診断データ(アラートログ、トレースファイル、ヘルスモニターのレポートなど)を格納するファイルベースのリポジトリです。
ADRの主な機能は以下の3点になります。
- 診断データの一元管理
- ログ閲覧・インシデント調査・パッケージ化
- 診断データは保持ポリシーに基づいて自動削除
ADRCIを使用することで、アラートログやトレースファイルの確認、インシデントの調査、不要になった診断データの手動削除等が実行できます。
ADRとADRCIの基本を押さえておくことで、調査や情報収集をスムーズに進められるようになります。
最後までご愛読ありがとうございました。



