ORACLE 恢復單個數據檔案 非SYSTEM表空間或者撤銷表空間
ERROR 位於第 1 行:
ORA-01113: 檔案 11 需要介質恢復
ORA-01110: 資料檔案 11: 'D:\ORACLE\ORADATA\JOSEPH\XWIKI.ORA'
如果出現上述提示,則說明資料檔案可能發生損壞的情況,需呀進行恢復。
============================================================
能夠進行成功的完全恢復的前提條件:
資料檔案的備份
聯機重做日誌
歸檔日誌
控制檔案(控制檔案包含歸檔日誌的位置以及當前的系統改變號)
============================================================
按照順序,對資料檔案進行恢復有以下幾個步驟:
1,使受損的資料檔案離線
有以下幾種命令可以使資料檔案離線
將一個表空間離線會令ORACLE對該資料檔案執行檢查點程序,DBWn程序會將用於該表空間的所有髒資料
塊寫至資料檔案,如果資料檔案受損,那麼寫操作就會失敗。如果這種情況發生,那麼就需要使immediate
命令指示ORACLE不對指定的表空間執行檢查點程序。
alter tablespace xxxx offline immediate; 將該表空間愛你的所有資料檔案立即離線,有點恨,慎用!
alter tablespace xxxx offline;將該表空間的所有資料檔案離線,最安全
alter database datafile xxxx offline;將出錯的資料檔案單獨離線,不安全
2,還原受損的資料檔案
將你的備份檔案拷貝到受損的資料檔案目錄中,或者你在其他地方也可以
需要用到:alter database rename file '原來位置' to '現在位置';
3,恢復受損的收據檔案
recover datafile xxxx;
這個過程中需要用到你的聯機日誌和歸檔日誌,才能進行完全恢復。
如果日誌不夠完整,則只能恢復部分資料
如果日誌不連續,則不能進行恢復。
如果控制檔案丟失,那你可就麻煩了,雖然可以恢復,但是非常困難。
例如:恢復資料需要的起始日誌序號你沒有,那你就完了。別想用這種方法恢復了。呵呵!
4,使已恢復的資料檔案聯機
離線的時候執行的那種命令,則聯機的時候執行相對應的命令即可。
alter tablespace xxxx offline;
alter database datafile xxxx offline;