Oracleのアーカイブログで以前のデータを消す方法
リカバリマネージャRMANでアーカイブログを削除できるが、実際のアーカイブログフォルダを見ると リストにも表示しないファイルがまだ残っていたりすることがある。 この場合はOS側から削除してもいいらしい。削除の手順としては以下のとおり。
まずRMANを実行して削除
> set ORACLE_SID=FOO > rman target SYS/SYSのパスワード RMAN> list archivelog all; 表示したのが管理対象のログファイル RMAN> delete archivelog all; RMAN> list archivelog all; 表示しなくなるはず RMAN> exit
なお、日付指定も可能。例えば30日以前のアーカイブログファイルなら
RMAN> delete archivelog until time 'sysdate - 30';
OS側で削除
上記で表示・削除しているのはoracleが管理対象としているファイルだけ。 なので管理対象外のファイルは残ったままとなる。その場合はOS側コマンドで削除する。 削除後、念のためチェックして(間違って管理対象を削除した場合でも)oracleに認識させる。
> set ORACLE_SID=FOO > rman target SYS/SYSのパスワード RMAN> crosscheck archivelog all; なにもなければ対象なしとなるはず RMAN> delete expired archivelog all; なにもなければ削除もない RMAN> exit
参考サイトは以下がよい。