本ブログは、オラクル・クラウドの個人ブログの1つです。
初めに
自動診断リポジトリ・コマンド・インタプリタ(ADRCI)ユーティリティは、Oracle Database診断データ(トレース、ダンプ、アラート・ログなど)を管理するためのコマンドライン・ツールです。
ADRCIは、Oracle DB 11gから利用可能であり、オンプレミス環境とクラウドの両方で使用できます。以下では、OCI (Oracle Cloud Infrastructure) のBase DBインスタンスでADRCIを使用する方法を簡単に説明します。
検証環境
DBタイプ:OCI Base DB (VM) (シングル・ノード)
DBバージョン: 19c Standard Edition
ステップ
1. ADRCIホームパスの確認
2. ADRCIホームパスの設定
3. トレースファイルの表示と削除
4. バッチ・モードでのADRCIの使用
1. ADRCIホームパスの確認
「oracle」ユーザへの切り替え
DBインスタンスにログインし、「oracle」ユーザーに切り替えます。
コマンド: sudo su - oracle
ホームパスの確認
ADRホームは、特定のオラクル社の製品またはコンポーネントの特定のインスタンスに対するすべての診断データ(トレース、ダンプ、アラート・ログなど)のルート・ディレクトリです。
複数のADRホーム間で診断データの相関付けを行うことができるようにするために、ADRホームはADRベースと呼ばれる同じルート・ディレクトリ下でグループ化されます。例えば、Oracle RAC環境では、ADRベースが共有ディスク上に存在し、各Oracle RACインスタンスのADRホームがこのADRベース下に配置される場合があります。
ADRベースの場所は、DIAGNOSTIC_DEST
初期化パラメータによって設定されます。
SQL> show parameter DIAGNOSTIC_DEST
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
diagnostic_dest string /u01/app/oracle
SQL>
ADRベースのパスは、/u01/app/oracle
であることを確認できます。
OCI Base DBの場合、ADRホームのパスは、次のようになります。
/diag/rdbms/<一意のデータベース名>/<データベース名>
<一意のデータベース名>のフォーマット:
<データベース名>_<リージョン・キー><自動作成された文字列3桁>
OCIコンソールより<一意のデータベース名>と<データベース名>の内容を確認できます。
それで、ADRホームの絶対パスは以下の通りです。
/u01/app/oracle/diag/rdbms/db19cse_nrt1mn/db19cse
ホームパスの下に、診断データが格納されています。
[oracle@db19c db19cse]$ pwd
/u01/app/oracle/diag/rdbms/db19cse_nrt1mn/db19cse
[oracle@db19c db19cse]$ ll
total 96
drwxr-x--- 2 oracle asmadmin 4096 Jul 26 04:08 alert
drwxr-x--- 2 oracle asmadmin 4096 Jul 26 04:08 cdump
drwxr-x--- 2 oracle asmadmin 4096 Jul 26 04:08 hm
drwxr-x--- 2 oracle asmadmin 4096 Jul 26 04:08 incident
drwxr-x--- 2 oracle asmadmin 4096 Jul 26 04:08 incpkg
drwxr-x--- 2 oracle asmadmin 4096 Jul 26 04:08 ir
drwxr-x--- 2 oracle asmadmin 4096 Jul 26 04:08 lck
drwxr-x--- 8 oracle asmadmin 4096 Jul 26 04:08 log
drwxr-x--- 2 oracle asmadmin 4096 Jul 26 04:08 metadata
drwxr-x--- 2 oracle asmadmin 4096 Jul 26 04:08 metadata_dgif
drwxr-x--- 2 oracle asmadmin 4096 Jul 26 04:08 metadata_pv
drwxr-x--- 2 oracle asmadmin 4096 Jul 26 04:08 stage
drwxr-x--- 2 oracle asmadmin 4096 Jul 26 04:08 sweep
drwxr-x--- 2 oracle asmadmin 40960 Sep 27 02:05 trace
[oracle@db19c db19cse]$
2. ADRCIホームパスの設定
ADRCIの起動
[oracle@db19c db19cse]$ adrci
ADRCI: Release 19.0.0.0.0 - Production on Mon Sep 27 09:49:59 2021
Copyright (c) 1982, 2019, Oracle and/or its affiliates. All rights reserved.
No ADR base is set
adrci> help
HELP [topic]
Available Topics:
CREATE REPORT
ECHO
ESTIMATE
EXIT
HELP
HOST
IPS
PURGE
RUN
SELECT
SET BASE
SET BROWSER
SET CONTROL
SET ECHO
SET EDITOR
SET HOMES | HOME | HOMEPATH
SET TERMOUT
SHOW ALERT
SHOW BASE
SHOW CONTROL
SHOW HM_RUN
SHOW HOMES | HOME | HOMEPATH
SHOW INCDIR
SHOW INCIDENT
SHOW LOG
SHOW PROBLEM
SHOW REPORT
SHOW TRACEFILE
SPOOL
There are other commands intended to be used directly by Oracle, type
"HELP EXTENDED" to see the list
adrci>
ホームパスの設定
各種の診断ファイルを使用する前に、ADRホームパスを設定する必要があります。
相対パスでADRホームパスを設定できます。(ADRベースの/u01/app/oracle
は省略でき、diag/
で始まります。)
adrci> show home
No ADR homes are set
adrci> set homepath diag/rdbms/db19cse_nrt1mn/db19cse
adrci> show home
ADR Homes:
diag/rdbms/db19cse_nrt1mn/db19cse
adrci>
3. トレースファイルの表示と削除
トレースファイルの表示
adrci> show tracefile
diag/rdbms/db19cse_nrt1mn/db19cse/trace/sbtio.log
diag/rdbms/db19cse_nrt1mn/db19cse/trace/db19cse_vktm_8822.trc
diag/rdbms/db19cse_nrt1mn/db19cse/trace/db19cse_vkrm_8992.trc
......
......
diag/rdbms/db19cse_nrt1mn/db19cse/trace/alert_db19cse.log
adrci>
古いトレースファイルの削除
次のコマンドは、三日間以上前のトレースファイルを全て削除します(4320分 / 60 = 72時間)。
adrci> purge -age 4320 -type trace
adrci>
4. バッチ・モードでのADRCIの使用
古いトレース/アラートファイルを削除する際には、日次バッチ・ジョブを実行すると役立ちます。
2種類のパラメータがあります。
EXEC: ADRCIを起動するオペレーティング・システム・コマンドラインで、1つ以上のADRCIコマンドを発行できます。コマンドが複数ある場合は、セミコロン(;)で区切ります。
コマンド: adrci exec="COMMAND[; COMMAND]..."
実施例:
[oracle@db19c ~]$ adrci exec="set homepath diag/rdbms/db19cse_nrt1mn/db19cse; show homes; show incident"
ADR Homes:
diag/rdbms/db19cse_nrt1mn/db19cse
ADR Home = /u01/app/oracle/diag/rdbms/db19cse_nrt1mn/db19cse:
*************************************************************************
0 rows fetched
[oracle@db19c ~]$
SCRIPT: ADRCIコマンドを含むスクリプトを実行できます。スクリプト・ファイルには、セミコロン(;)または改行で区切られた一連のコマンドが含まれています。
コマンド: adrci script=SCRIPT_FILE_NAME
実施例:
[oracle@db19c ~]$ cat adrci_script.txt
set homepath diag/rdbms/db19cse_nrt1mn/db19cse
show homes
show incident
[oracle@db19c ~]$ adrci script=adrci_script.txt
ADRCI: Release 19.0.0.0.0 - Production on Tue Sep 28 02:15:03 2021
Copyright (c) 1982, 2019, Oracle and/or its affiliates. All rights reserved.
No ADR base is set
ADR Homes:
diag/rdbms/db19cse_nrt1mn/db19cse
ADR Home = /u01/app/oracle/diag/rdbms/db19cse_nrt1mn/db19cse:
*************************************************************************
0 rows fetched
[oracle@db19c ~]$
以上です。
関連記事
オラクル・クラウドの個人ブログ一覧
Oracle Base DBのサービス名を取得する
参考ドキュメント
ADRCI: ADRコマンド・インタプリタ