Oracle Databaseは、データベースの問題を調査するために使用できる障害診断能力インフラストラクチャを備えています。Oracle の用語では、問題は、コードのバグやデータの破損などの重大なエラーです。インシデントとは、問題の発生です。同じエラーが 3 回発生した場合、このインフラストラクチャには、この問題の 3 つのインシデントが示されます。詳細は、Oracle Databaseドキュメントの「問題の診断と解決
自動診断リポジトリコマンドインタープリタ (ADRCI) ユーティリティは、診断データの管理に使用する Oracle コマンドラインツールです。例えば、このツールを使用して問題を調査し、診断データをパッケージ化することができます。インシデントパッケージには、特定の問題を参照する 1 つのインシデントまたはすべてのインシデントの診断データが含まれます。.zipファイルとして実装されているインシデントパッケージを Oracle サポートにアップロードできます。
マネージドサービスエクスペリエンスを提供するために、Amazon RDS は ADRCI へのシェルアクセスを提供していません。RDS for Oracle DB インスタンスの診断タスクを実行するには、Amazon RDS パッケージ rdsadmin.rdsadmin_adrci_util
を使用します。
rdsadmin_adrci_util
で関数を使用すると、問題やインシデントをリストしてパッケージ化でき、トレースファイルも表示できます。すべての関数はタスク ID を返します。この ID は、dbtask-
のように ADRCI 出力を含むログファイルの名前の一部を形成します。ログファイルは BDUMP ディレクトリにあります。データベースログファイルのダウンロード で説明した手順に従って、ログファイルをダウンロードできます。task_id
.log
診断手順の共通パラメータ
診断タスクを実行するには、 Amazon RDS パッケージ rdsadmin.rdsadmin_adrci_util
内の関数を使用します。パッケージ内の共通パラメータは以下のとおりです。
パラメータ名 | データ型 | 有効な値 | デフォルト | 必須 | 説明 |
---|---|---|---|---|---|
|
number |
有効なインシデント ID または null |
Null |
いいえ |
値が null の場合、関数はすべてのインシデントを表示します。値が null ではなく、有効なインシデント ID を指定している場合は、関数は指定されたインシデントを表示します。 |
|
number |
有効な問題 ID または null |
Null |
いいえ |
値が null の場合、関数はすべての問題を表示します。値が null ではなく、有効な問題 ID を表す場合、関数は指定された問題を表示します。 |
|
number |
0 より大きい有効な整数、または null |
Null |
いいえ |
値が null の場合、関数は最大 50 個の項目を表示します。値が null でない場合、関数は指定された数を表示します。 |
インシデントのリスト化
Oracle の診断インシデントを一覧表示するには、Amazon RDS 関数 rdsadmin.rdsadmin_adrci_util.list_adrci_incidents
を使用します。インシデントは、ベーシックモードまたは詳細モードのいずれかでリストできます。デフォルトでは、この関数は最新の 50 件のインシデントをリストします。
この関数は、以下の共通パラメータを使用します。
-
incident_id
-
problem_id
-
last
incident_id
と problem_id
を指定すると、incident_id
は problem_id
より優先されます。詳細については、「診断手順の共通パラメータ」を参照してください。
この関数は、次の追加パラメータを使用します。
パラメータ名 | データ型 | 有効な値 | デフォルト | 必須 | 説明 |
---|---|---|---|---|---|
|
boolean |
TRUE 、、または FALSE |
|
いいえ |
|
すべてのインシデントを一覧表示するには、引数を指定せずに rdsadmin.rdsadmin_adrci_util.list_adrci_incidents
関数をクエリします。クエリはタスク ID を返します。
SQL> SELECT rdsadmin.rdsadmin_adrci_util.list_adrci_incidents AS task_id FROM DUAL; TASK_ID ------------------ 1590786706158-3126
または、引数を指定せずに rdsadmin.rdsadmin_adrci_util.list_adrci_incidents
関数を呼び出し、出力を SQL クライアント変数に保存します。変数は、他のステートメントで使用できます。
SQL> VAR task_id VARCHAR2(80);
SQL> EXEC :task_id := rdsadmin.rdsadmin_adrci_util.list_adrci_incidents;
PL/SQL procedure successfully completed.
ログファイルを読み取るには、Amazon RDS プロシージャ rdsadmin.rds_file_util.read_text_file
を呼び出します。ファイル名の一部としてタスク ID を指定します。次の出力は、53523、53522、53521 の 3 つのインシデントを示しています。
SQL> SELECT * FROM TABLE(rdsadmin.rds_file_util.read_text_file('BDUMP', 'dbtask-'||:task_id||'.log')); TEXT ------------------------------------------------------------------------------------------------------------------------- 2020-05-29 21:11:46.193 UTC [INFO ] Listing ADRCI incidents. 2020-05-29 21:11:46.256 UTC [INFO ] ADR Home = /rdsdbdata/log/diag/rdbms/orcl_a/ORCL: ************************************************************************* INCIDENT_ID PROBLEM_KEY CREATE_TIME ----------- ----------------------------------------------------------- ---------------------------------------- 53523 ORA 700 [EVENT_CREATED_INCIDENT] [942] [SIMULATED_ERROR_003 2020-05-29 20:15:20.928000 +00:00 53522 ORA 700 [EVENT_CREATED_INCIDENT] [942] [SIMULATED_ERROR_002 2020-05-29 20:15:15.247000 +00:00 53521 ORA 700 [EVENT_CREATED_INCIDENT] [942] [SIMULATED_ERROR_001 2020-05-29 20:15:06.047000 +00:00 3 rows fetched 2020-05-29 21:11:46.256 UTC [INFO ] The ADRCI incidents were successfully listed. 2020-05-29 21:11:46.256 UTC [INFO ] The task finished successfully. 14 rows selected.
特定のインシデントをリストするには、incident_id
パラメータを使用してその ID を指定します。次の例では、インシデント 53523 のみのログファイルをクエリします。
SQL> EXEC :task_id := rdsadmin.rdsadmin_adrci_util.list_adrci_incidents(incident_id=>53523); PL/SQL procedure successfully completed. SQL> SELECT * FROM TABLE(rdsadmin.rds_file_util.read_text_file('BDUMP', 'dbtask-'||:task_id||'.log')); TEXT ------------------------------------------------------------------------------------------------------------------ 2020-05-29 21:15:25.358 UTC [INFO ] Listing ADRCI incidents. 2020-05-29 21:15:25.426 UTC [INFO ] ADR Home = /rdsdbdata/log/diag/rdbms/orcl_a/ORCL: ************************************************************************* INCIDENT_ID PROBLEM_KEY CREATE_TIME -------------------- ----------------------------------------------------------- --------------------------------- 53523 ORA 700 [EVENT_CREATED_INCIDENT] [942] [SIMULATED_ERROR_003 2020-05-29 20:15:20.928000 +00:00 1 rows fetched 2020-05-29 21:15:25.427 UTC [INFO ] The ADRCI incidents were successfully listed. 2020-05-29 21:15:25.427 UTC [INFO ] The task finished successfully. 12 rows selected.
問題のリスト化
Oracle の診断問題を一覧表示するには、Amazon RDS 関数 rdsadmin.rdsadmin_adrci_util.list_adrci_problems
を使用します。
デフォルトでは、この関数は最新の 50 個の問題をリストします。
この関数は、共通パラメータ problem_id
と last
を使用します。詳細については、「診断手順の共通パラメータ」を参照してください。
すべての問題のタスク ID を取得するには、引数を指定せずに rdsadmin.rdsadmin_adrci_util.list_adrci_problems
関数を呼び出し、出力を SQL クライアント可変に格納します。
SQL> EXEC :task_id := rdsadmin.rdsadmin_adrci_util.list_adrci_problems; PL/SQL procedure successfully completed.
ログファイルを読み込むには、ファイル名の一部としてタスク ID を指定し、rdsadmin.rds_file_util.read_text_file
関数を呼び出します。次の出力では、ログファイルには 1、2、3 の 3 つの問題が表示されます。
SQL> SELECT * FROM TABLE(rdsadmin.rds_file_util.read_text_file('BDUMP', 'dbtask-'||:task_id||'.log')); TEXT ---------------------------------------------------------------------------------------------------------------------- 2020-05-29 21:18:50.764 UTC [INFO ] Listing ADRCI problems. 2020-05-29 21:18:50.829 UTC [INFO ] ADR Home = /rdsdbdata/log/diag/rdbms/orcl_a/ORCL: ************************************************************************* PROBLEM_ID PROBLEM_KEY LAST_INCIDENT LASTINC_TIME ---------- ----------------------------------------------------------- ------------- --------------------------------- 2 ORA 700 [EVENT_CREATED_INCIDENT] [942] [SIMULATED_ERROR_003 53523 2020-05-29 20:15:20.928000 +00:00 3 ORA 700 [EVENT_CREATED_INCIDENT] [942] [SIMULATED_ERROR_002 53522 2020-05-29 20:15:15.247000 +00:00 1 ORA 700 [EVENT_CREATED_INCIDENT] [942] [SIMULATED_ERROR_001 53521 2020-05-29 20:15:06.047000 +00:00 3 rows fetched 2020-05-29 21:18:50.829 UTC [INFO ] The ADRCI problems were successfully listed. 2020-05-29 21:18:50.829 UTC [INFO ] The task finished successfully. 14 rows selected.
次の例では、問題 3 のみをリストします。
SQL> EXEC :task_id := rdsadmin.rdsadmin_adrci_util.list_adrci_problems(problem_id=>3); PL/SQL procedure successfully completed.
問題 3 のログファイルを読み込むには、rdsadmin.rds_file_util.read_text_file
を呼び出します。ファイル名の一部としてタスク ID を指定します。
SQL> SELECT * FROM TABLE(rdsadmin.rds_file_util.read_text_file('BDUMP', 'dbtask-'||:task_id||'.log')); TEXT ------------------------------------------------------------------------- 2020-05-29 21:19:42.533 UTC [INFO ] Listing ADRCI problems. 2020-05-29 21:19:42.599 UTC [INFO ] ADR Home = /rdsdbdata/log/diag/rdbms/orcl_a/ORCL: ************************************************************************* PROBLEM_ID PROBLEM_KEY LAST_INCIDENT LASTINC_TIME ---------- ----------------------------------------------------------- ------------- --------------------------------- 3 ORA 700 [EVENT_CREATED_INCIDENT] [942] [SIMULATED_ERROR_002 53522 2020-05-29 20:15:15.247000 +00:00 1 rows fetched 2020-05-29 21:19:42.599 UTC [INFO ] The ADRCI problems were successfully listed. 2020-05-29 21:19:42.599 UTC [INFO ] The task finished successfully. 12 rows selected.
インシデントパッケージの作成
Amazon RDS 関数 rdsadmin.rdsadmin_adrci_util.create_adrci_package
を使用してインシデントパッケージを作成できます。出力は、Oracle サポートに提供できる .zip ファイルです。
この関数は、以下の共通パラメータを使用します。
-
problem_id
-
incident_id
上記のパラメータのいずれかを必ず指定してください。両方のパラメータを指定した場合、incident_id
は problem_id
をオーバーライドします。詳細については、「診断手順の共通パラメータ」を参照してください。
特定のインシデントのパッケージを作成するには、rdsadmin.rdsadmin_adrci_util.create_adrci_package
パラメータを指定して Amazon RDS 関数 incident_id
を呼び出します。次の例では、インシデント 53523 のパッケージを作成します。
SQL> EXEC :task_id := rdsadmin.rdsadmin_adrci_util.create_adrci_package(incident_id=>53523); PL/SQL procedure successfully completed.
ログファイルを読み込むには、rdsadmin.rds_file_util.read_text_file
を呼び出します。ファイル名の一部としてタスク ID を指定することができます。出力は、インシデントパッケージ ORA700EVE_20200529212043_COM_1.zip
を生成したことを示しています。
SQL> SELECT * FROM TABLE(rdsadmin.rds_file_util.read_text_file('BDUMP', 'dbtask-'||:task_id||'.log')); TEXT -------------------------------------------------------------------------------------------------------------------------------------- 2020-05-29 21:20:43.031 UTC [INFO ] The ADRCI package is being created. 2020-05-29 21:20:47.641 UTC [INFO ] Generated package 1 in file /rdsdbdata/log/trace/ORA700EVE_20200529212043_COM_1.zip, mode complete 2020-05-29 21:20:47.642 UTC [INFO ] The ADRCI package was successfully created. 2020-05-29 21:20:47.642 UTC [INFO ] The task finished successfully.
特定の問題の診断データをパッケージ化するには、problem_id
パラメータを使用してその ID を指定します。次の例では、問題 3 のデータのみをパッケージ化します。
SQL> EXEC :task_id := rdsadmin.rdsadmin_adrci_util.create_adrci_package(problem_id=>3); PL/SQL procedure successfully completed.
タスク出力を読み取るには、ファイル名の一部としてタスク ID を指定して rdsadmin.rds_file_util.read_text_file
を呼び出します。出力は、インシデントパッケージ ORA700EVE_20200529212111_COM_1.zip
を生成したことを示しています。
SQL> SELECT * FROM TABLE(rdsadmin.rds_file_util.read_text_file('BDUMP', 'dbtask-'||:task_id||'.log')); TEXT ------------------------------------------------------------------------------------------------------------------------------------------------------------ 2020-05-29 21:21:11.050 UTC [INFO ] The ADRCI package is being created. 2020-05-29 21:21:15.646 UTC [INFO ] Generated package 2 in file /rdsdbdata/log/trace/ORA700EVE_20200529212111_COM_1.zip, mode complete 2020-05-29 21:21:15.646 UTC [INFO ] The ADRCI package was successfully created. 2020-05-29 21:21:15.646 UTC [INFO ] The task finished successfully.
ログファイルをダウンロードすることもできます。詳細については、「データベースログファイルのダウンロード」を参照してください。
トレースファイルの表示
Amazon RDS 関数 rdsadmin.rdsadmin_adrci_util.show_adrci_tracefile
を使用すると、trace ディレクトリの下にあるトレースファイルと、現在の ADR ホームにあるすべてのインシデントディレクトリを一覧表示できます。トレースファイルとインシデントトレースファイルの内容を表示することもできます。
この関数は、次のパラメータを使用します。
パラメータ名 | データ型 | 有効な値 | デフォルト | 必須 | 説明 |
---|---|---|---|---|---|
|
varchar2 |
有効なトレースファイル名 |
Null |
いいえ |
値が null の場合、関数はすべてのトレースファイルを表示します。null でない場合、関数は指定されたファイルを表示します。 |
トレースファイルを表示するには、Amazon RDS 関数 rdsadmin.rdsadmin_adrci_util.show_adrci_tracefile
を呼び出します。
SQL> EXEC :task_id := rdsadmin.rdsadmin_adrci_util.show_adrci_tracefile; PL/SQL procedure successfully completed.
トレースファイル名をリストするには、ファイル名の一部としてタスク ID を指定して、Amazon RDS プロシージャ rdsadmin.rds_file_util.read_text_file
を呼び出します。
SQL> SELECT * FROM TABLE(rdsadmin.rds_file_util.read_text_file('BDUMP', 'dbtask-'||:task_id||'.log')) WHERE TEXT LIKE '%/alert_%'; TEXT --------------------------------------------------------------- diag/rdbms/orcl_a/ORCL/trace/alert_ORCL.log.2020-05-28 diag/rdbms/orcl_a/ORCL/trace/alert_ORCL.log.2020-05-27 diag/rdbms/orcl_a/ORCL/trace/alert_ORCL.log.2020-05-26 diag/rdbms/orcl_a/ORCL/trace/alert_ORCL.log.2020-05-25 diag/rdbms/orcl_a/ORCL/trace/alert_ORCL.log.2020-05-24 diag/rdbms/orcl_a/ORCL/trace/alert_ORCL.log.2020-05-23 diag/rdbms/orcl_a/ORCL/trace/alert_ORCL.log.2020-05-22 diag/rdbms/orcl_a/ORCL/trace/alert_ORCL.log.2020-05-21 diag/rdbms/orcl_a/ORCL/trace/alert_ORCL.log 9 rows selected.
次の例では、alert_ORCL.log
の出力を生成します。
SQL> EXEC :task_id := rdsadmin.rdsadmin_adrci_util.show_adrci_tracefile('diag/rdbms/orcl_a/ORCL/trace/alert_ORCL.log'); PL/SQL procedure successfully completed.
ログファイルを読み込むには、rdsadmin.rds_file_util.read_text_file
を呼び出します。ファイル名の一部としてタスク ID を指定します。出力には、alert_ORCL.log の初期の 10 行が表示されます。
SQL> SELECT * FROM TABLE(rdsadmin.rds_file_util.read_text_file('BDUMP', 'dbtask-'||:task_id||'.log')) WHERE ROWNUM <= 10; TEXT ----------------------------------------------------------------------------------------- 2020-05-29 21:24:02.083 UTC [INFO ] The trace files are being displayed. 2020-05-29 21:24:02.128 UTC [INFO ] Thu May 28 23:59:10 2020 Thread 1 advanced to log sequence 2048 (LGWR switch) Current log# 3 seq# 2048 mem# 0: /rdsdbdata/db/ORCL_A/onlinelog/o1_mf_3_hbl2p8xs_.log Thu May 28 23:59:10 2020 Archived Log entry 2037 added for thread 1 sequence 2047 ID 0x5d62ce43 dest 1: Fri May 29 00:04:10 2020 Thread 1 advanced to log sequence 2049 (LGWR switch) Current log# 4 seq# 2049 mem# 0: /rdsdbdata/db/ORCL_A/onlinelog/o1_mf_4_hbl2qgmh_.log Fri May 29 00:04:10 2020 10 rows selected.
ログファイルをダウンロードすることもできます。詳細については、「データベースログファイルのダウンロード」を参照してください。