11g自動診断リポジトリ(Automatic Diagnostic Repository)

1. 自動診断リポジトリ(ADR)の概念(マニュアル)

2. ADRルートの設定

  • DIAGNOSTIC_DEST初期パラメータにADRルートパスを指定する。昔のUSER_DUMP_DEST,CORE_DUMP_DEST,BACKGROUND_DUMP_DESTを廃棄された。
  • デフォルトでDIAGNOSTIC_DESTが$ORACLE_BASEの配下に設定される。$ORACLE_BASEが設定されていなかった場合、$ORACLE_HOMEの配下に設定される。
PROD(SYS)> show parameter diag

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
diagnostic_dest                      string      /u01/app/oracle

3. ADRディレクトリの構成

3.1 OS上でのディレクトリ構成の確認
[oracle oracle()] tree -d diag/ -L 4
diag/
|-- asm
|-- clients
|-- crs
|-- diagtool
|-- lsnrctl
|-- netcman
|-- ofm
|-- rdbms
|   |-- orcl
|   |   `-- ORCL
|   |       |-- alert
|   |       |-- cdump
|   |       |-- hm
|   |       |-- incident
|   |       |-- incpkg
|   |       |-- ir
|   |       |-- lck
|   |       |-- metadata
|   |       |-- stage
|   |       |-- sweep
|   |       `-- trace
|   `-- prod
|       `-- PROD
|           |-- alert
|           |-- cdump
|           |-- hm
|           |-- incident
|           |-- incpkg
|           |-- ir
|           |-- lck
|           |-- metadata
|           |-- stage
|           |-- sweep
|           `-- trace
`-- tnslsnr
    `-- db-node01
        `-- listener
            |-- alert
            |-- cdump
            |-- incident
            |-- incpkg
            |-- lck
            |-- metadata
            |-- stage
            |-- sweep
            `-- trace
3.2 $DIAG_INFOでの確認
PROD(SYS)> set lines 120
PROD(SYS)> set pages 9999
PROD(SYS)> col name format a30
PROD(SYS)> col value format a70
PROD(SYS)> select * from v$diag_info;

   INST_ID NAME                           VALUE
---------- ------------------------------ ----------------------------------------------------------------------
         1 Diag Enabled                   TRUE
         1 ADR Base                       /u01/app/oracle
         1 ADR Home                       /u01/app/oracle/diag/rdbms/prod/PROD
         1 Diag Trace                     /u01/app/oracle/diag/rdbms/prod/PROD/trace
         1 Diag Alert                     /u01/app/oracle/diag/rdbms/prod/PROD/alert
         1 Diag Incident                  /u01/app/oracle/diag/rdbms/prod/PROD/incident
         1 Diag Cdump                     /u01/app/oracle/diag/rdbms/prod/PROD/cdump
         1 Health Monitor                 /u01/app/oracle/diag/rdbms/prod/PROD/hm
         1 Default Trace File             /u01/app/oracle/diag/rdbms/prod/PROD/trace/PROD_ora_20049.trc
         1 Active Problem Count           0
         1 Active Incident Count          0

11 rows selected.
3.3 主なディレクトリ
  • alert:XML形式のAlertログが格納される。
  • cdump:データベースのコアダンプが格納される。
  • trace:トレースファイルおよびテキストベースのAlertログ
  • incident:複数のサブディレクトリがあり、各サブディレクトリには特定のインシデントの名前が付けられ、そのインシデントのみに関するダンプが含まれる。

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

ADRコマンド・インタプリタ(ADRCI)は、Oracle Database診断データの管理に使用するコマンドライン・ツールである。

  • 自動診断リポジトリ(ADR)内の診断データを表示する。
  • 状態モニターのレポートを表示する。
  • Oracleサポート・サービスへ送信するために、インシデントや問題の情報をZIPファイルにパッケージ化する。
4.1 ADRCIの起動とヘルプ
[work oracle(PROD)] adrci

ADRCI: Release 11.1.0.7.0 - Production on Mon Nov 30 00:24:26 2009

Copyright (c) 1982, 2007, Oracle.  All rights reserved.

ADR base = "/u01/app/oracle"
adrci> help

 HELP [topic]
   Available Topics:
        CREATE REPORT
        ECHO
4.2 Alertログの確認
adrci> show homes
ADR Homes: 
diag/rdbms/prod/PROD
diag/rdbms/orcl/ORCL
diag/tnslsnr/db-node01/listener
adrci> set home diag/rdbms/prod/PROD  << 複数インスタンスの場合にホームを指定する必要がある。
adrci> show alert -tail
2009-11-29 20:08:32.836000 +09:00
Verifying file header compatibility for 11g tablespace encryption..
Verifying 11g file header compatibility for tablespace encryption completed
SMON: enabling tx recovery
......
4.3 インシデントの表示

すべての未解決インシデントの表示

adrci> show incident 

ADR Home = /u01/app/oracle/diag/rdbms/prod/PROD:
*************************************************************************
0 rows fetched

ADR Home = /u01/app/oracle/diag/rdbms/orcl/ORCL:
*************************************************************************
0 rows fetched

ADR Home = /u01/app/oracle/diag/tnslsnr/db-node01/listener:
*************************************************************************
0 rows fetched

adrci>
4.4 状態モニターの実行に関する情報の表示

状態モニターの実行(OEM) DBホーム → Advisor Central → CheckersでTEST_RUNを実行
HM_02.JPG

ADRCIで情報を表示する

adrci> show hm_run

ADR Home = /u01/app/oracle/diag/rdbms/prod/PROD:
*************************************************************************

**********************************************************
HM RUN RECORD 1
**********************************************************
   RUN_ID                        1141
   RUN_NAME                      TEST_RUN
   CHECK_NAME                    Data Block Integrity Check
   NAME_ID                       3
   MODE                          0
   START_TIME                    2009-11-30 00:40:28.545251 +09:00
   RESUME_TIME                   <NULL>
   END_TIME                      2009-11-30 00:40:29.859085 +09:00
   MODIFIED_TIME                 2009-11-30 00:40:29.859085 +09:00
   TIMEOUT                       0
   FLAGS                         0
   STATUS                        5
   SRC_INCIDENT_ID               0
   NUM_INCIDENTS                 0
   ERR_NUMBER                    0
   REPORT_FILE                   <NULL>
1 rows fetched

adrci>

REPORT_FILEが作成された場合、show report hm_run '<RUN_NAME>'でレポート内容を確認できる
4.5 情報(診断データ) の削除ポリシー

削除ポリシーのデフォルトは以下の通り

  • SHORTP_POLICY : 720 時間 ( 30 日)
  • LONGP_POLICY : 8760 時間 (365 日)

削除ポリシーの確認

adrci> show home
ADR Homes: 
diag/rdbms/prod/PROD
adrci> show control

ADR Home = /u01/app/oracle/diag/rdbms/prod/PROD:
*************************************************************************
ADRID                SHORTP_POLICY        LONGP_POLICY         LAST_MOD_TIME                            LAST_AUTOPRG_TIME                        LAST_MANUPRG_TIME                        ADRDIR_VERSION       ADRSCHM_VERSION      ADRSCHMV_SUMMARY     ADRALERT_VERSION     CREATE_TIME                              
-------------------- -------------------- -------------------- ---------------------------------------- ---------------------------------------- ---------------------------------------- -------------------- -------------------- -------------------- -------------------- ---------------------------------------- 
1321510743           720                  8760                 2009-11-03 01:54:40.349754 +09:00                                                 2009-11-30 00:53:22.878393 +09:00        1                    2                    65                   1                    2009-11-03 01:54:40.349754 +09:00       
1 rows fetched

adrci>

削除ポリシーの変更
adrci> set control (SHORTP_POLICY =240) << # 10日に変更
adrci> set control (LONGP_POLICY = 720) << # 30日に変更
adrci>  show control

ADR Home = /u01/app/oracle/diag/rdbms/prod/PROD:
*************************************************************************
ADRID                SHORTP_POLICY        LONGP_POLICY         LAST_MOD_TIME                            LAST_AUTOPRG_TIME                        LAST_MANUPRG_TIME                        ADRDIR_VERSION       ADRSCHM_VERSION      ADRSCHMV_SUMMARY     ADRALERT_VERSION     CREATE_TIME                              
-------------------- -------------------- -------------------- ---------------------------------------- ---------------------------------------- ---------------------------------------- -------------------- -------------------- -------------------- -------------------- ---------------------------------------- 
1321510743           240                  720                  2009-11-30 01:06:46.499555 +09:00                                                 2009-11-30 00:53:22.878393 +09:00        1                    2                    65                   1                    2009-11-03 01:54:40.349754 +09:00       
1 rows fetched

adrci>
4.6 情報(診断データ) の削除方法
  • purge:ポリシーに従って情報を削除
  • purge -i <incident_id>:指定するインシデントIDの情報を削除
  • purge -age <value(分単位)>:指定した時間(単位:分) が経過した情報を削除
  • purge -age <value> -type <type>:特定の情報を削除

4.4で作成されたTEST_RUNを削除

adrci> show hm_run

ADR Home = /u01/app/oracle/diag/rdbms/prod/PROD:
*************************************************************************

**********************************************************
HM RUN RECORD 1
**********************************************************
   RUN_ID                        1201
   RUN_NAME                      TEST_RUN
   CHECK_NAME                    Undo Segment Integrity Check
   NAME_ID                       11
   MODE                          0
   START_TIME                    2009-11-30 00:53:29.705164 +09:00
   RESUME_TIME                   <NULL>
   END_TIME                      2009-11-30 00:53:29.737885 +09:00
   MODIFIED_TIME                 2009-11-30 00:53:29.737885 +09:00
   TIMEOUT                       100
   FLAGS                         0
   STATUS                        5
   SRC_INCIDENT_ID               0
   NUM_INCIDENTS                 0
   ERR_NUMBER                    0
   REPORT_FILE                   <NULL>
1 rows fetched

adrci> purge -age 1 -type hm
adrci> show hm_run

ADR Home = /u01/app/oracle/diag/rdbms/prod/PROD:
*************************************************************************
0 rows fetched

adrci>
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License