web-dev-qa-db-ja.com

アーカイブを削除する正しい方法-Oracle

したがって、RHELでOracleデータベース(スタンドアロン)を実行しており、バックアップを毎日および毎週実行するようにRMANをスケジュールしました。アーカイブの生成が多いために、ファイルシステム(アーカイブマウントポイント)がいっぱいになることがあります。ファイルシステムからアーカイブを削除する正しい方法は何ですか?

私のRMANスクリプトにはこれがあります

delete archivelog all completed before 'SYSDATE-5'

しかし、上記のコマンドは、私が見るようにアーカイブを適切に削除していません。非常に古いアーカイブの一部がまだ残っています。

それらを適切に削除する方法は?

Crosscheck archivelog allを実行する必要がありますか?上記のコマンドをもう一度実行しますか?正しい方法は何ですか?

よろしくお願いします!

6
tesla747

それらを削除するには、次のようにします:RMAN>crosscheck archivelog all; RMAN>delete noprompt expired archivelog all;、それらをバックアップするときにdelete input句を含めることもでき、それらはバックアップされた後に削除されます(あなた次第です) 。手動で表示したコマンドを手動で実行して、RMANで何が発生するかを確認できます(つまり、動作するか、エラーが発生しますか)。

6
Petar Spasov

RMANがディスク上のアーカイブ(他の場所からコピーされたもの)を認識していない場合は、カタログコマンドを使用して、アーカイブファイルについてRMANに通知できます。

RMAN> CATALOG START WITH '/disk2/archlog' NOPROMPT;

次に、アーカイブログのバックアップを実行します。

RMAN> backup check logical as compressed backupset (archivelog all delete all input);
3
Kris Johnston

探しているものが特定の日付まで削除する場合は、このコマンドを発行するだけです

RMAN>delete archivelog until time ‘SYSDATE-10’;

または、yesまたはnoの入力を求められないようにする場合は、nopromptオプションを使用してこれを実行できます。

RMAN>delete noprompt archivelog until time ‘SYSDATE-10’; 
0
Commando