10g 以前のバージョンでは、アラート・ログ、リスナーのログ、クライアントのログ、各種トレースファイルなどの情報は蓄積される一方でした。
そのため、これらの情報が蓄積されやすい環境においては、一定のポリシーにしたがってこれらの情報を定期的に削除するなどのケアが必要でした。
しかし、11g では自動診断リポジトリ(ADR)によってこれらの情報をあらかじめ設定された削除ポリシーにしたがって一括削除できるようになっています。
自動診断リポジトリ(ADR)の削除ポリシーには、SHORTP_POLICY と LONGP_POLICY の2つが用意されており、ディレクトリごとにどちらが適用されるかが決められています。
- SHORTP_POLICY
- デフォルトでは 720 時間( 30 日 )に設定されている。trace ディレクトリや cdump ディレクトリに適用される。
- LONGP_POLICY
- デフォルトでは 8760 時間( 365 日 )に設定されている。alert ディレクトリなどに適用される。
この2つの削除ポリシーは ADR ホームごとに設定できるようになっており、確認・変更は ADRCI で行うことができます。
削除ポリシーの確認には、SHOW CONTROL コマンドを使用します。
adrci> show control ADR Home = /u01/app/oracle/diag/rdbms/orcl/orcl: ************************************************************************* ADRID SHORTP_POLICY LONGP_POLICY LAST_MOD_TIME LAST_AUTOPRG_TIME LAST_MANUPRG_TIME ADRDIR_VERSION ADRSCHM_VERSION ADRSCHMV_SUMMARY ADRALERT_VERSION CREATE_TIME -------------------- -------------------- -------------------- ---------------------------------------- ---------------------------------------- ---------------------------------------- -------------------- -------------------- -------------------- -------------------- ---------------------------------------- 1234567890 720 8760 2009-08-21 18:16:47.577283 +09:00 2009-08-23 22:51:26.774672 +09:00 1 2 65 1 2009-08-21 18:16:47.577283 +09:00 1 rows fetched
SHORTP_POLICY、LONGP_POLICY 列の値が現在の削除ポリシーの設定値(時間)です。
削除ポリシーの変更には、SET CONTROL コマンドを使用します。
adrci> set control (SHORTP_POLICY = 168)
adrci> set control (LONGP_POLICY = 720)
削除ポリシーにしたがってログやトレースの情報を削除するには、PURGE コマンドを使用します。
adrci> purge
削除ポリシーとは異なる条件を指定してログやトレースの情報を削除することもできます。
例)alert ディレクトリ配下から 1440 分( 1 日)経過した情報を削除する。
adrci> purge -age 1440 -type alert
なお、ADR ホームが複数ある場合は、上記のコマンドを実行する前に SET HOMEPATH コマンドを実行して ADR ホームを選択しておく必要があります。
adrci> set home <ADR_HOME>
と、非常に便利に思える機能なんですが、実は現時点では非常に中途半端であまり使い物になりません。
まず、削除ポリシーにしたがって定期的に自動削除してくれてもいいように思いますが、されません。
削除を実行するにはADRCIでPURGEコマンドを実行しなければなりません。
また、alert_<SID>.log、listener.log、sqlnet.logといったテキスト形式のログファイルは削除対象外となっています。
これらのファイルは従来どおりOSコマンドなどで削除しなければなりません。
このあたりが改善されれば、非常に便利な機能なんですがね...