自動診断リポジトリ(ADR)
Automatic Diagnostic Repository(ADR)は、トレースファイル、インシデントダンプ、アラートログなどを集中管理する。
ADRの実体は、あるディレクトリ以下にある、階層構造で整理されたファイルの集合体。
このため、DBが動作していなくとも参照可能。
階層構造
diagnostic_dest初期化パラメータによってADR_BASEが設定される。
show parameter diagnostic_dest
-- 実行結果
-- NAME TYPE VALUE
-- ------------------------------------ ----------- ------------------------------
-- diagnostic_dest string /u01/app/oracle
ADR_BASEの初期値(初期値は$ORACLE_BASE)
└── diag
├── asm ASM関連のログ
├── clients Orcle Client関連のログ
├── tnslsnr リスナー関連のログ
└── rdbms
└── orcl
└── orcl ★ 自動診断リポジトリ(ADR)HOME
├── alert XMK形式のアラート
├── cdump コアダンプ
├── hm ヘルスモニタの結果
├── incident インシデントダンプ
├── incpkg インシデントパッケージ
├── ir データリカバリアドバイザーの修復スクリプト
├── trace テキスト形式のアラートログ、トレースファイル
| └── alert_orcl.log ★とりあえず見る
:
v$diag_info ビュー
ADR関連ディレクトリのパスなどを確認
set line 200;
column NAME format a20;
column value format a80;
select name, value from v$diag_info;
NAME | VALUE(検証環境での値) | 説明 |
---|---|---|
Diag Enabled | TRUE | ADRが有効かどうか |
ADR Base | /u01/app/oracle | ADRのベースディレクトリ |
ADR Home | /u01/app/oracle/diag/rdbms/orcl/orcl | ADRのホームディレクトリ(インスタンス単位) |
Diag Trace | /u01/app/oracle/diag/rdbms/orcl/orcl/trace | テキスト形式のアラートログ、トレースファイルの場所 |
Diag Alert | /u01/app/oracle/diag/rdbms/orcl/orcl/alert | XML形式のアラートログの場所 |
Diag Incident | /u01/app/oracle/diag/rdbms/orcl/orcl/incident | インシデントダンプファイルの場所 |
Diag Cdump | /u01/app/oracle/diag/rdbms/orcl/orcl/cdump | コアダンプファイルの場所 |
Health Monitor | /u01/app/oracle/diag/rdbms/orcl/orcl/hm | ヘルスモニターの結果ファイルの場所 |
Default Trace File | /u01/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_ora_824634.trc | 現在のセッションで作成されるユーザートレースファイルへのパス |
Active Problem Count | 0 | インスタンスのアクティブな問題の数(類似インシデントグループ化) |
Active Incident Count | 0 | インスタンスのアクティブな問題の数(致命的エラー) |
ORACLE_HOME | /u01/app/oracle/product/19.3.0/dbhome_1 | Oracleホームディレクトリ |
adrciコマンド
エディタなどでも確認できるが、このコマンドでも調査可能。
実行例
[oracle@syslog ~]$ adrci
ADRCI: Release 19.0.0.0.0 - Production on Sun Aug 20 12:38:13 2023
Copyright (c) 1982, 2019, Oracle and/or its affiliates. All rights reserved.
ADR base = "/u01/app/oracle"
adrci>
adrci> show problem ★現在発生している問題を一覧表示(類似インシデントグループ化)
ADR Home = /u01/app/oracle/diag/rdbms/orcl/orcl:
*************************************************************************
PROBLEM_ID PROBLEM_KEY LAST_INCIDENT LASTINC_TIME
-------------------- ----------------------------------------------------------- -------------------- ----------------------------------------
1 ORA 600 [ksb_shut_detached_process3] 41065 2023-08-20 12:06:13.748000 +09:00
ADR Home = /u01/app/oracle/diag/tnslsnr/syslog/listener:
*************************************************************************
0 rows fetched
adrci>
adrci> show incident ★現在発生している致命的な問題を一覧表示(類似インシデントグループ化)
ADR Home = /u01/app/oracle/diag/rdbms/orcl/orcl:
*************************************************************************
INCIDENT_ID PROBLEM_KEY CREATE_TIME
-------------------- ----------------------------------------------------------- ----------------------------------------
41065 ORA 600 [ksb_shut_detached_process3] 2023-08-20 12:06:13.748000 +09:00
ADR Home = /u01/app/oracle/diag/tnslsnr/syslog/listener:
*************************************************************************
0 rows fetched
adrci>
adrci> show alert ★アラートログをエディタで表示
Choose the home from which to view the alert log:
1: diag/rdbms/orcl/orcl
2: diag/tnslsnr/syslog/listener
Q: to quit
Please select option:
インシデントをクローズする場合、PURGE -i <incident_id>
を実行する。
実行前にADRホームの指定が必要。
adrci> SHOW HOMES ★ ADR HOME一覧確認
ADR Homes:
diag/rdbms/orcl/orcl ★
diag/tnslsnr/syslog/listener
adrci>
adrci>
adrci> SET HOME diag/rdbms/orcl/orcl ★ HOME指定
adrci> SHOW INCIDENT ★ incident_id確認
ADR Home = /u01/app/oracle/diag/rdbms/orcl/orcl:
*************************************************************************
INCIDENT_ID PROBLEM_KEY CREATE_TIME
-------------------- ----------------------------------------------------------- ----------------------------------------
41065 ORA 600 [ksb_shut_detached_process3] 2023-08-20 12:06:13.748000 +09:00
1 row fetched
adrci>
adrci> PURGE -i 41065 ★ 削除
adrci>
adrci> SHOW INCIDENT ★ 削除された事を確認
ADR Home = /u01/app/oracle/diag/rdbms/orcl/orcl:
*************************************************************************
0 rows fetched
adrci>