Oracle/ADR †ADR概要 †ADR(Automatic Diagnostic Repository)は11gからの新機能で、ログファイルを含むすべての診断データを一元管理するようになった。 ログ格納先 †
ADRディレクトリ階層 †ADRベース /u01/app/oracle や /u01/app/grid └ diag ├- asm ASMインスタンス用。rdbms同様にASMインスタンス名のサブディレクトリがADRホーム ├- clients クライアント処理用。traceディレクトリに sqlnet.log ├- tnslsnr リスナー用。traceサブディレクトリに listener.log ※ ADRディレクトリはGRID (例) /u01/app/grid/diag/tnslsnr/listener.log ├- ... └- rdbms └- <DB名> ADRホーム └- <SID名> ├- alert XML形式のアラートログ ├- cdump コアダンプ ├- incpkg インシデントパッケージ ├- incident インシンデントダンプ(インシデントID毎のサブディレクトリあり) ├- ir データリカバリアドバイザによる修復スクリプト ├- hm ヘルスモニターの結果 └- trace テキスト形式のアラートログ、バッググラウンドプロセスのトレースファイル、ユーザートレース クラスターウェア関連のログはこちら ADRコマンド †$ORACLE_HOME/bin/adrci [script=<adrciコマンドを列挙したファイル>] adrci> help でコマンド一覧表示
出力サンプル †adrci> show home
ADR Homes:
diag/rdbms/orcl11/orcl11
diag/tnslsnr/mai/listener
adrci> set home diag/rdbms/orcl11/orcl11
adrci>
adrci> show home
ADR Homes:
diag/rdbms/orcl11/orcl11
adrci>
adrci> show problem
ADR Home = /opt/app/oracle/diag/rdbms/orcl11/orcl11:
*************************************************************************
PROBLEM_ID PROBLEM_KEY LAST_INCIDENT LASTINC_TIME
-------------------- ----------------------------------------------------------- -------------------- ----------------------------------------
1 ORA 4030 48233 2014-05-18 10:53:14.509000 +09:00
1 rows fetched
adrci> show incident
ADR Home = /opt/app/oracle/diag/rdbms/orcl11/orcl11:
*************************************************************************
INCIDENT_ID PROBLEM_KEY CREATE_TIME
-------------------- ----------------------------------------------------------- ----------------------------------------
48233 ORA 4030 2014-05-18 10:53:14.509000 +09:00
1 rows fetched
ヘルスチェック †自己診断機能としてDBファイル、メモリー、トランザクション、メタデータなどの一貫性に不整合がある場合、自動的にチェック(ヘルスチェック)が動作する。手動での実行も可能。 DBMS_HMパッケージによるヘルスチェック実行 †
-- ディクショナリの整合性チェック exec DBMS_HM.RUN_CHECK ( check_name => 'Dictionary Integrity Check', run_name => 'DicCheck', timeout => 0, input_params => 'TABLE_NAME=tab$' ); -- ヘルスチェック結果をファイルへ出力 BEGIN DBMS_ADVISOR.CREATE_FILE( DBMS_HM.GET_RUN_REPORT( run_name => 'DicCheck', report_type => 'HTML' ), 'DATA_PUMP_DIR','hm_DictCheck.html'); END; / -- ADRCI での確認 adrci> SET HOME diag/rdbms/orcl11/orcl11 adrci> SHOW HM_RUN adrci> CREATE REPORT HM_RUN DicCheck adrci> SHOW REPORT HM_RUN DicCheck adrci> PURGE -AGE 60 TYPE hm IPSパッケージ(障害情報をパッケージ化したファイル)の作成 †ロジカル・パッケージの作成 IPS CREATE PACKAGE ‥‥空パッケージ IPS CREATE PACKAGE INCIDENT <インシデントID> ‥‥インシデント単位 IPS CREATE PACKAGE PROBLEMKEY <プロブレムKEY> ‥‥プロブレムKEY単位 IPS CREATE PACKAGE PROBLEM <プロブレムID> ‥‥プロブレムID単位 IPS CREATE PACKAGE SECONDS <秒数> ‥‥指定秒数前までの全インシデント IPS CREATE PACKAGE TIME <開始> TO <終了> ‥‥指定時刻範囲の全インシデント(時刻はインシデントファイルのフォーマットに合わせて指定) ※オプション指定可能 CORRELATE {ALL | TYPICAL | BASIC} の診断レベルを指定。デフォルトは「TYPICAL」 ロジカル・パッケージに情報の追加 IPS ADD INCIDENT <インシデントID> PACKAGE <パッケージID> IPS ADD PROBLEMKEY <プロブレムKEY> PACKAGE <パッケージID> IPS ADD FILE <ファイル名> PACKAGE <パッケージID> フィジカル・パッケージ(ロジカル・パッケージをZIPで固めたもの)の作成 IPS GENERATE PACKAGE <パッケージID> IN <ディレクトリ> ‥‥パッケージ全体作成 IPS GENERATE PACKAGE <パッケージID> IN <ディレクトリ> INCREMENTAL ‥‥パッケージ差分作成 ※ORA<プロブレムKEY>_<ロジカル・パッケージ作成時刻>_{モード}_<シーケンス>.zip が作成される その他のIPSコマンド
不要になったADR内のデータを削除する PURGE -i <インシデントID> OEMから作成 |