2009-11-30 101 views

回答

3

當Oracle更改數據文件中的數據時,它會將信息寫出到重做日誌中。如果發生數據庫故障,您可以使用此信息使數據庫恢復到數據庫故障之前的狀態。

在災難恢復的情況下,您可以還原最後一個完整數據庫備份,然後應用自從上次備份後採取的重做日誌得到數據庫恢復。如果沒有這些重做日誌,只能恢復到最後一次完整備份,並且此後所做的更改將會丟失。

在Oracle中,你也可以運行在「無存檔日誌模式」,這基本上意味着,「重做日誌可以沒有被保存覆蓋」。這通常只適用於您不關心自上次備份以來丟失數據的開發數據庫。您通常不會在生產環境中以此模式運行,因爲這可能會造成災難性後果。

下面是一個包含更多信息的參考鏈接,以及如何找出生成的重做量的示例。

http://www.adp-gmbh.ch/ora/concepts/redo_log.html

+1

甲骨文通常寫入到重做日誌##寫入數據文件之前。提交可以在不將髒塊刷新到數據文件的情況下執行。 – 2009-12-01 16:32:00

0

爲了擴大對@ DCP的回答是:從技術上講,@dcp指的是歸檔重做日誌。這些是可選的,並且只有在以歸檔日誌模式運行數據庫時纔會生成。每個Oracle數據庫至少有兩個必需文件,即聯機重做日誌文件。這些跟蹤數據庫的所有更改。如果數據庫意外崩潰,它們對恢復至關重要,而歸檔日誌則不是。 Oracle使用在線重做日誌文件在系統崩潰時透明地將數據庫恢復到最近提交的狀態。歸檔日誌在備份恢復過程中使用 - 備份被恢復,然後歸檔日誌應用於備份,使數據庫恢復到當前狀態或某個先前的時間點。

在線日誌是以循環的方式寫入的,因爲一個在下一個日誌中被填充。如果設置了存檔日誌模式,則將這些較早的日誌寫入存檔日誌目標。如果不是,那麼一旦它們跟蹤的更改寫入數據文件,它們將根據需要被覆蓋。

備份和恢復Oracle的網站This overview是相當不錯的給一個整個事情是如何放在一起的想法。