[Oracle] RMANでのバックアップ実行時にアーカイブログファイルの識別エラーが発生する | Archive Redo Blog

Archive Redo Blog

DBエンジニアのあれこれ備忘録

Recovery Managerでバックアップを実行しようとすると以下のようにアーカイブログが識別できないというエラーが発生することがあります。


RMAN> RUN {
2> backup incremental level = 0 database format 'C:\Oracle\Backup\%d_DBF_%U_%Y%M%D.BAK' 
plus archivelog format 'C:\Oracle\Backup\%d_ARC_%U_%Y%M%D.BAK' delete all input;
3> backup current controlfile format 'C:\Oracle\Backup\%d_CTL_%U_%Y%M%D.BAK';
4> }
5> 

backupが開始されました(開始場所: 04-10-19)
現在のログがアーカイブされました。
リカバリ・カタログのかわりにターゲット・データベース制御ファイルを使用しています
チャネル: ORA_DISK_1が割り当てられました
チャネルORA_DISK_1: sid=18 devtype=DISK
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of backup command at 10/19/2004 20:06:07
RMAN-06059: expected archived log not found, lost of archived log compromises recoverability
ORA-19625: ファイルC:\ORACLE\ORADATA\ORCL\ARCHIVE\1_20.DBFの識別中にエラーが発生しました。
ORA-27041: ファイルをオープンできません。
OSD-04002
Recovery Managerが完了しました。


このエラーはバックアップを実行する前にOSコマンドによってアーカイブログを削除した時に発生します。

(制御ファイル中のアーカイブログ情報と実際のアーカイブログファイルが矛盾した状態になっています)

このエラーを回避するには、以下のようにRMANでbackupコマンドを実行する前に、crosscheckコマンドを実行し、制御ファイル中のアーカイブログファイル情報のチェックを行う必要があります。

RMAN> RUN {
2> crosscheck archivelog all;
3> backup incremental level = 0 database format 'C:\Oracle\Backup\%d_DBF_%U_%Y%M%D.BAK' 
plus archivelog format 'C:\Oracle\Backup\%d_ARC_%U_%Y%M%D.BAK' delete all input;
4> backup current controlfile format 'C:\Oracle\Backup\%d_CTL_%U_%Y%M%D.BAK';
5> }
6>