Oracle資料庫不完全恢復

2022-08-10 00:39:19 字數 1395 閱讀 6907

需要不完全恢復的情況

完全恢復由於歸檔日誌檔案丟失而失敗

丟失了資料檔案和乙個或多個未歸檔重做日誌檔案

使用控制檔案的備份開啟或恢復資料庫

在下列情況下,通常需要執行整個資料庫的不完全備份:

重做日誌丟失:重做日誌未進行映象,並且在某個重做日誌歸檔前丟失了該日誌以及資料檔案。在丟失的重做日誌之後無法繼續執行恢復。

歸檔丟失:完全恢復操作由於歸檔日誌損壞或丟失而失敗。應用歸檔日誌之前,恢復只能完成到過去某個時間。

備份控制檔案:使用控制檔案的備份而不是當前副本來開啟資料庫。在下列情況下需要使用控制檔案備份:

所有控制檔案均已丟失,無法重新建立控制檔案,但存在控制檔案的二進位製備份。對控制檔案進行映象(到不同磁碟上)並保持 create controlfile 語句的當前文字版本可以減少必須使用這種方法的機會。 

要將資料庫恢復至過去某一時間點,且還原的資料庫與當前資料庫的結構不同。

使用控制檔案的舊副本執行恢復或開啟資料庫時,必須在 recover database 命令中指定 using backup controlfile 子句。

不完全恢復的型別

基於時間的恢復

使用 until time 子句,可以指定資料庫應恢復到的過去的時間點。提交了直至指定時間的所有更改後恢復將終止。使用者對資料進行了不必要的更改或刪除了重要的表時,如果知道錯誤操作的大概時間,就可以使用此方法。如果您立即收到了系統通知,則恢復時間和資料丟失可降到最低。經過嚴格測試的程式、安全性和過程可以避免進行這種型別的恢復。

基於取消的恢復

在恢復過程中,可以在恢復提示符(而不是日誌檔名)下輸入 cancel 來終止恢復。可以在下列情況下使用此方法:

當前重做日誌檔案或組被損壞,無法用於恢復。進行映象可以避免進行這種型別的恢復。

丟失了進行恢復所需的歸檔重做日誌檔案。經常備份以及制定多個歸檔目標可以避免進行這種型別的恢復。

基於更改的恢復

將 until change 子句用於使用者管理的備份和將 until scn 子句用於 rman 管理的備份,可以指定要恢復的最後一次提交更改的系統更改號 (scn)。提交了直至指定 scn 的所有更改後恢復將終止。可以在分布式環境中恢復資料庫時使用此方法。還可以使用 until restore point 語法並為 scn 指定乙個別名,即還原點。本課的後續部分將對還原點進行介紹。

日誌序列恢復

使用 rman 管理的備份,可以通過 until sequence 子句指定要用於資料庫恢復的最後日誌序列號。在應用了直至(但不包括)指定的日誌檔案的所有日誌檔案後,恢復將終止。

ORACLE之不完全恢復 基於時間的恢復

記錄當前資訊,插入一行資料 5 再觀察時間和scn號,再插入一行資料 6 再觀察時間和scn號,每次執行後都記錄這些資訊。commit sql alter session set nls date format yyyy mm dd hh24 mi ss session altered.sql se...

oracle基於時間點的不完全恢復

下面我們做乙個實驗,演示如何對oracle進行基於時間點的不完全恢復 在實驗之前請確保資料庫具有有效備份 獲取此時的時間並記錄下來 sql select to char sysdate,yyyy mm dd hh24 mi ss from dual to char sysdate,yy 2014 0...

RMAN備份與恢復 完全恢復與不完全恢復

名詞解釋 顧名思義,完全恢復就是指資料沒有丟失的恢復了。不完全恢復是指恢復後有部分資料丟失。它們是資料庫的兩種恢復方式。完全恢復 利用重做日誌或增量備份將資料塊恢復到最接近當前時間的時間點。之所以叫做完整恢復是由於oracle應用了歸檔日誌和聯機重做日誌中所有的修改。不完全恢復 利用備份產生乙個非當...