問題描述:rman進(jìn)行備份的時(shí)候,出現(xiàn)報(bào)錯(cuò)ORA-19625,無效的文件
1.進(jìn)行數(shù)據(jù)庫備份,然后就出現(xiàn)了報(bào)錯(cuò),沒有這個(gè)24號(hào)的歸檔日志
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> }
2.想起來之前是做SCN增量備份的時(shí)候,把24號(hào)歸檔就不知道是刪除了還是mv到哪了,反正就是丟了,這個(gè)其它文檔交代的很清楚,操作系統(tǒng)刪除了這個(gè)歸檔日志,但是還沒備份過,找不到歸檔就出錯(cuò)了。然后就執(zhí)行以下命令,發(fā)現(xiàn)了failed for archived log
RMAN> change archivelog all crosscheck; (物理上刪除了歸檔,但是控制文件不知道,需要交叉同步消息
3.一開始不知道直接以為執(zhí)行change archivelog all crosscheck; 告訴控制文件這個(gè)歸檔已經(jīng)不行了,找不到了,就可以了。然后就進(jìn)行備份,在我本地的備份路徑上所有東西都是ok的,但是rman備份的時(shí)候發(fā)現(xiàn)24號(hào)歸檔還是被備份進(jìn)去了,這里沒有來的及截圖,下邊可以備份到完整的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; 這條命令才是同步控制文件和實(shí)際物理文件的信息的,之前的change archivelog all crosscheck; 是比較一下控制文件和物理文件的差別的,所以我又把備份文件全都刪除,重新備了一遍
刪除備份
delete expired archivelog all; 同步信息
重新rman備份
5.完成
聯(lián)系客服