問題描述:rman進行備份的時候,出現報錯ORA-19625,無效的檔案
1.進行資料庫備份,然后就出現了報錯,沒有這個24號的歸檔日志
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增量備份的時候,把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.完成
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/25095.html
標籤:Oracle
上一篇:ORA-07217 environment variable cannot be evaluated
下一篇:skipping archived logs of thread 1 from sequence 29 to 46; already backed up
