標籤:
ORACLE資料庫不同故障下的恢複總結
1. 非歸檔模式下丟失或損壞的檔案
--1.1 資料檔案
--啟動資料庫的狀態到MOUNT
--恢複方法:
通過之前建立的資料庫完整備份,修複整個資料庫,不過備份之後發生的所有修改將丟失;修複資料庫之後不需要進行RECOVER操作。(由於沒有歸檔,也無從RECOVER),直接通過RESETLOGS方式開啟資料庫即可。
--1.2 資料檔案及聯機重做記錄檔
--啟動資料庫的狀態到MOUNT
--恢複方法(同上):
通過之前建立的資料庫完整備份,修複整個資料庫,不過備份之後發生的所有修改將丟失;修複資料庫之後不需要進行RECOVER操作。(由於沒有歸檔,也無從RECOVER),直接通過RESETLOGS方式開啟資料庫即可。
--1.3 資料檔案及控制檔案
--啟動資料庫的狀態到NOMOUNT(控制檔案丟失或損壞,只能啟動資料庫到NOMOUNT狀態)
--恢複方法(同上):
通過之前建立的資料庫完整備份,修複整個資料庫,不過備份之後發生的所有修改將丟失;修複資料庫之後不需要進行RECOVER操作。(由於沒有歸檔,也無從RECOVER),直接通過RESETLOGS方式開啟資料庫即可。
======
說明:以上三種情況下執行資料庫修複,都必須有正確的控制檔案備份。另外,在上述幾種情況下進行資料庫恢複時,唯一一種可以不使用RESETLOGS選項開啟資料庫的情況,就是建立資料庫完整備份之後,聯機重做記錄檔中的內容還沒有被覆蓋掉,那麼可心通過RECOVER操作應用這部分日誌。
============================
2. 歸檔模式下丟失或損壞的檔案
--2.1 一個或多個資料檔案
--啟動資料庫的狀態到MOUNT/OPEN均可
--恢複方法:
在資料庫開啟可是載入的狀態下執行資料表空間或資料檔案的恢複操作,首先要將資料表空間或資料檔案置於OFFLINE狀態,然後通過備份RETORE和RECOVER,最後再將其置為ONLINE狀態。這種操作不會遺失資料,並且在操作的過程中,資料庫的其他資料檔案仍可被正常訪問。
--2.2 全部資料檔案
--啟動資料庫的狀態到NOMOUNT
--恢複方法
應用之前的全庫備份進行恢複,在聯機重做記錄檔和歸檔檔案仍在的情況下,不會遺失資料。
--2.3 控制檔案及一個或多個資料檔案
--啟動資料庫的狀態到NOMOUNT
--恢複方法:
首先通過備份的控制檔案先對控制檔案進行恢複,然後即可開啟資料庫到MOUNT狀態。再對資料檔案進行RESTORE和RECOVER操作;在聯機重做記錄檔都在的情況下,這種操作不會遺失資料。
==========================================
只要是有控制檔案或是全部的資料檔案丟失,則只能啟動資料庫到NOMOUNT狀態。在歸檔模式下,不需要以OPEN RESETLOGS方式開啟資料庫。
ORACLE資料庫不同故障下的恢複總結