ORA-19625: error identifying file

問題描述:rman進行備份的時候,出現報錯ORA-19625,無效的文件數據庫

1.進行數據庫備份,而後就出現了報錯,沒有這個24號的歸檔日誌oracle

RMAN> run{app

2> allocate channel ch_1 type disk;操作系統

3> allocate channel ch_2 type disk;3d

4> backup database format '/u01/app/oracle/oradata/Backup/database_%t_%u_%c.bak';日誌

5> backup archivelog all format '/u01/app/oracle/oradata/Backup/archive_%t_%u_%c.bak';orm

6> }blog

 

 

2.想起來以前是作SCN增量備份的時候,把24號歸檔就不知道是刪除了仍是mv到哪了,反正就是丟了,這個其它文檔交代的很清楚,操做系統刪除了這個歸檔日誌,可是還沒備份過,找不到歸檔就出錯了。而後就執行如下命令,發現了failed for archived log文檔

RMAN> change archivelog all crosscheck;       (物理上刪除了歸檔,可是控制文件不知道,須要交叉同步消息同步

 

 

 

 

 

 

 3.一開始不知道直接覺得執行change archivelog all crosscheck; 告訴控制文件這個歸檔已經不行了,找不到了,就能夠了。而後就進行備份,在我本地的備份路徑上全部東西都是ok的,可是rman備份的時候發現24號歸檔仍是被備份進去了,這裏沒有來的及截圖,下邊能夠備份到完整的bak

RMAN> run{

2> allocate channel ch_1 type disk;

3> allocate channel ch_2 type disk;

4> backup database format '/u01/app/oracle/oradata/Backup/database_%t_%u_%c.bak';

5> backup archivelog all format '/u01/app/oracle/oradata/Backup/archive_%t_%u_%c.bak';

6> }

 

 

 

4.這裏就牽扯到另一條命令:delete expired archivelog all;   這條命令纔是同步控制文件和實際物理文件的信息的,以前的change archivelog all crosscheck; 是比較一下控制文件和物理文件的差異的,因此我又把備份文件全都刪除,從新備了一遍

刪除備份

delete expired archivelog all;  同步信息

從新rman備份

 

 

 

 5.完成

相關文章
相關標籤/搜索