1. 程式人生 > >ORACLE 恢復單個數據檔案 非SYSTEM表空間或者撤銷表空間

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;