RMAN刪除失效的備份時報錯故障處理
背景:
客戶的數據庫,之前一直是通過商用備份軟件,備份到外置的磁帶庫內的,因為一些原因,磁帶設備要淘汰,然后干脆利落地把磁帶庫下電搬走;
在此之前有一臺備份服務器專門備份此數據庫服務器,數據備份到磁帶庫設備里,后來,在數據庫端沒有做任何動作的情況下,備份服務器被拆除,在數據庫服務器上的備份客戶端也被卸載;
因此,rman無法再聯系到sbt通道,也意味著list backup里的所有信息均無效;
現在想把list backup的歷史備份記錄清除掉(delete backup),卻一直報錯。
問題:
拆卸老磁帶庫簡單粗暴,沒有考慮歷史備份的數據問題,歷史備份已不可用;所以需要手動清理rman里的歷史備份記錄;
希望以不破壞數據庫的正常運行為前提,也不考慮以前的歷史備份情況下,清除歷史備份信息;
簡單來說,就是使list backup命令的結果為空即可;
-- 在RMAN里刪除歷史備份信息時報錯,無法刪除,使用以下命令均不行:
RMAN> delete backup;
RMAN> delete backupset;
RMAN> delete noprompt backup;
RMAN> delete obsolete;
RMAN> delete noprompt obsolete;
報錯信息:
-- 在執行清理操作時報錯如下:
RMAN> delete obsolete;
RMAN retention policy will be applied to the command
RMAN retention policy is set to redundancy 1
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of delete command at 10/23/2015 18:04:47
ORA-19554: error allocating device, device type: SBT_TAPE, device name:
ORA-27211: Failed to load Media Management Library
Additional information: 2
問題排查:
-- 清理歷史備份:
RMAN> crosscheck backup;
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of crosscheck command at 10/26/2015 09:26:45
ORA-19554: error allocating device, device type: SBT_TAPE, device name:
ORA-27211: Failed to load Media Management Library
Additional information: 2
-- 清理歷史歸檔:
RMAN> crosscheck archivelog all;
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=192 device type=DISK
validation succeeded for archived log
archived log file name=/oracle/archivelog/orcl/1_10_893527443.dbf RECID=15 STAMP=893887221
validation succeeded for archived log
archived log file name=/oracle/archivelog/orcl/1_11_893527443.dbf RECID=16 STAMP=893970058
validation succeeded for archived log
archived log file name=/oracle/archivelog/orcl/1_12_893527443.dbf RECID=17 STAMP=894034825
Crosschecked 3 objects
RMAN> delete backup of archivelog all;
released channel: ORA_DISK_1
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of delete command at 10/26/2015 09:27:21
ORA-19554: error allocating device, device type: SBT_TAPE, device name:
ORA-27211: Failed to load Media Management Library
Additional information: 2
-- 同樣報錯,提示SBT_TAPE通道不可用;
因為原有通道已經不存在,所以只能再分配一個虛假的磁帶通道:
allocate channel for maintenance device type sbt
parms 'SBT_LIBRARY=oracle.disksbt,ENV=(BACKUP_DIR=/tmp)';
-- 然后再執行:
crosscheck backup;
delete backup;
-- 命令成功,最終結果如下:
RMAN> list backupset;
specification does not match any backup in the repository
RMAN> list backup;
specification does not match any backup in the repository
在清理掉不可用備份之后,重建磁盤存儲池,修改備份腳本,使用磁盤通道備份,過程不再贅述;
問題解決!
數據庫
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。