Avamar:Oracle 備份失敗,並顯示「超過 0 個檔案損毀磁區的限制」
Summary: 知識庫 (KB) 文章,針對因磁區損毀導致的 Oracle 備份失敗提供解決方案
Symptoms
備份在「活動」視窗中顯示為失敗,但可在 Avamar Administrator 主控台或 Avamar 使用者介面 (AUI) 中進行還原。如果在數據集中啟用了「備份歸檔日誌」選項,則尤其如此。
Oracle 備份可能會失敗,並出現類似以下的錯誤訊息:
avoracle Error <7934>: Snapup of EBSP aborted due to rman terminated abnormally - check the logs
...
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of backup plus archivelog command at 11/19/2015 20:52:52
ORA-19566: exceeded limit of 0 corrupt blocks for file E:\ORACLE\EMC\DB\AVAMAR\DATABASE.DBF
Recovery Manager complete.
Cause
有問題的資料庫檔具有損壞的數據塊。
這可以透過執行下列命令來確認:
SQL> select * from v$database_block_corruption;
Resolution
您必須使用 Oracle Recovery Manager (RMAN) 附掛程式來執行損毀區塊復原,才能使損毀的資料庫檔案恢復正常運作。
根據 Oracle 適用的 DELL Avamar 使用者指南,您必須先設定資料庫以進行損毀區塊復原。這是通過將 Oracle 資料庫的 DB_BLOCK_CHECKSUM 初始化參數設置為“典型”來完成的。此參數設定可讓 RMAN 偵測實體和邏輯損毀。
然後依照適用於 Oracle 的 DELL Avamar 使用者指南 中的指示,將資料庫還原至原始用戶端。在「復原類型」欄位中,選取「Corrupt blocks」選項
如果損毀的區塊復原失敗,請使用 SET MAXCORRUPT 命令來設定檔案中允許的損毀總數。默認值為零,表示 RMAN 不容忍任何類型的損壞塊。
如果 RMAN 在備份期間遇到損毀磁區,超過 MAXCORRUPT 限制,則 RMAN 會終止備份。否則,RMAN 會以特殊的標頭將損毀的磁區寫入備份,指出該磁區已標示為損毀。
參考資料: https://docs.oracle.com/cd/B28359_01/backup.111/b28273/rcmsynta043.htm#RCMRF153 (外部連結)
但是,使用 Avamar Administrator 主控台進行備份時,無法善用此因應措施。因此,您必須使用 Oracle Recovery Manager (RMAN) 指令檔執行命令列備份。請參閱 Avamar Oracle 使用者指南中的「使用 Oracle RMAN 進行備份與還原」一節以供參考。
若要永久修正損毀資料區塊的問題 (建議),您必須聯絡 Oracle 支援以進行進一步的故障診斷。