2012年3月14日水曜日

Orcle11g ログ備忘録

前提:備忘録です。間違いがあるかもしれませんのでご注意ください。 

11gからログの管理が大幅に変更されている。
Automatic Diagnostic Repository(ADR)で管理されるようになっている。 

【ADR】
出力先が異なっていたログをADRで一括格納/管理できる。
 初期化パラメータの「BACKGROUND_DUMP_DEST」と「USER_DUMP_DEST」は11gでは廃止。 

<ADRのディレクトリ構造> 
ADR_BASE:ADRのルートディレクトリ。
初期化パラメータ「DIAGNOSTIC_DEST」で指定. ADR_BASE以下にdiagディレクトリが存在。 ADR_HOME:ADR_BASEの直下。トレースファイル、アラート・ログの保存ディレクトリ。
インスタンス用の保存場所は、<製品_id>と<instance_id>で識別。 

上記ディレクトリは、「V$DIAG_INFOビュー」で確認。
SQL>select * from v$diag_info;
【Oracle Database代表的なログ】
・アラート・ログ:データベース個別のイベントとダンプファイル情報 
・トレースファイル:エラー発生時の情報およびメモリダンプ
・リスナー・ログ:クライアントからの接続要求状況
 (リスナー・ログはリスナーへのアクセス情報が出力されるファイル。出力有無の設定は可能。  出力する設定にしているとファイルは増大し続ける定期的に移動・削除する必要がある。)
 【削除について】

<アラートログの削除>
起動中でも削除可能。ShutDownしてからがよい

<リスナーログの削除>
1./oracle/diag/tnslsnr/host名/listener/alert にxmlファイルが出力されている。

2./oracle/diag/tnslsnr/host名/listener/trace にlistener.logが出力されている。 

1.についてはADRで削除ルールを設定し、purgeコマンドで削除。
C:\> adrci
adrci> set homepath
adrci> purge -age 14400 -type alert 

2については設置当初からのログがそのまま残る。
Oracle停止後、OSより物理削除可能。(基本は移動、圧縮で対応) 

※Oracleサポートに確認するのが一番良い。
※テスト機にて検証してからが基本。

【補足①:アラートログの参照】
 C:\>adrci adrci>show home
adrci >  set editor notepad
adrci >  show alert
adrci >  show problem
adrci >  show incident 

【補足②:削除手順(案)】
※緊急性を要して、肥大化してしまったログの削除しなければならない場合についてですので、  
基本は削除ではなく退避、移動が基本と考えます。 

①データベースのバックアップ
②リスナーログのPURGE
③Oracleの停止
④アラートログの削除
⑤リスナーログの削除