問題描述:刪除歸檔的備份,在進行歸檔的重新備份,提示:skipping archived logs of thread 1 from sequence 29 to 46; already backed up,這個也不算報錯,接著之前的ORA-19625 1.進行備份,但是提示我歸檔已經存在,但是我已 ...
問題描述:刪除歸檔的備份,在進行歸檔的重新備份,提示:skipping archived logs of thread 1 from sequence 29 to 46; already backed up,這個也不算報錯,接著之前的ORA-19625
1.進行備份,但是提示我歸檔已經存在,但是我已經把備份全都物理刪除了,rm * /u01/app/oracle/oradata/Backup 已經刪除過Backup下所有的備份,包括這些歸檔,但是提示過下邊這些歸檔已經存在,很奇怪
然後我的備份路徑下只有資料庫的備份文件,沒有歸檔備份?全部刪掉重來
2.查看rman備份的歸檔信息,然而這個路徑下是沒有任何文件的,在之後find這個bak也是沒有找到的
RMAN> list backup of archivelog all;
3.重啟,重啟完重新執行以下腳本,這裡很有意思,看起來沒有問題。
run{
allocate channel ch_1 type disk;
backup database format '/u01/app/oracle/oradata/Backup/database_$t_%u_%c.bak'';
backup archivelog all format '/u01/app/oracle/oradata/Backup/archive_$t_%u_%c.bak';
}
4.但是下邊這個就不明白了,我就已經刪除歸檔備份了,怎麼還有這幾個歸檔已經有備份了,直接被跳過了,而且歸檔文件是存在的。這裡是我重啟完資料庫,而且shutdown immediate了一次資料庫,要註意的是這時會產生歸檔文件,所以資料庫備份的是我shutdown產生的一次歸檔文件,之前的該跳過還是跳過了
5.後來才知道這個原因,物理刪除歸檔備份,資料庫是知道的,但是控制文件是還有記錄的,這個單詞一開始不知道什麼意思,這次可記住了”過期“!
RMAN> crosscheck backup; 這裡查看一下所有的備份,這裡的備份是EXPIRED過期的,但是控制文件不知道,下邊就要告訴控制文件
RMAN> delete expired backup; 刪除掉過期的備份,選擇yes
6.在此進行備份,第無數次備份了,這裡需要註意的是最好一行一行來,點擊回車系統會檢測你的語法,備份成功
7.查看一下備份的文件,這裡的歸檔備份是沒有問題的,當時調整了show all命令的參數,設置成了兩個備份歸檔保留數,先記錄一下,忽略一下show all裡邊設置路徑%_後邊的錯誤語法,沒有改過來,這裡回頭再研究一下