Oracle重做日誌文件的基本概念

 重做日誌文件是Oracle數據庫中一種非常重要的日誌文件,也是其一個很有特色的功能。重做日誌文件會紀錄對於數據庫的任何操作,如利用DML語句或者DDL語句對數據進行更改,或者數據庫管理員對數據庫結構進行更改,都會在重做日誌中進行記錄。

  可見,當數據被意外的刪除或者修改,我們可以利用重新日誌文件進行恢復; 當出現例程失敗或者介質失敗的情況下,也可以利用日誌文件實現例程恢復或者介質恢復。所以說,我們若能夠管理好重做日誌文件的話,對於保障數據庫數據的安全是非常重要的。

  下面筆者談談管理好Oracle 數據庫日誌文件的幾點經驗技巧,或許,能夠給大家在重做日誌文件的管理中帶來一些啓示。

  一、合理確定重做日誌文件的存放位置

  我們知道,當數據庫內部數據丟失或者被意外更改的情況下,數據庫管理員可以利用重做日誌文件實現數據庫數據的恢復工作。當數據庫出現意外事故,如硬盤物理損壞、數據丟失時怎麼辦?

  我們第一個就會想到利用數據庫重做日誌對數據進行恢復。可是當數據庫重做日誌跟數據庫數據文件放在同一個硬盤的話,很明顯,當硬盤損壞的時候,數據文件將跟日誌文件共赴黃泉。此時,連天皇老子都救不了我們。

  所以,此時,我們就有必要把重做日誌文件跟數據庫數據文件放在兩個不同的硬盤上面。此時,任何一個硬盤若發生損壞,我們都可以憑藉另外一塊硬盤的數據,來挽回損失。如存放數據文件的硬盤損壞時,我們就可以利用存放在另外一塊硬盤上的數據重做日誌文件進行修復,挽回損失。

  雞蛋不能放在同一個籃子裏,故重做日誌文件與數據文件也不要放在同一塊硬盤上。那時非常危險一個動作。

  其實,這個重做日誌文件就跟數據庫的備份文件類似。我們在對數據庫進行備份的時候,都知道需要進行異地備份。可惜的是,很多數據庫管理員,在進行Oracle 數據庫管理的時候,沒有注意到這一點,結果當出現問題的時候,就來不及了。故,對於數據重做日誌文件,保存時,要跟數據庫備份文件一樣,進行異地保存。

  二、合理設置數據庫的歸檔模式

  因爲數據重做日誌會紀錄數據庫所有的修改動作,所以,當數據庫頻繁修改時,如那些ERP系統需要頻繁對數據庫進行修改操作,此時,數據庫的重做日誌文件就會很龐大。爲了便於日誌文件的管理,Oracle 數據庫默認情況下,在安裝的時候,會有三個重做日誌文件。當第一個重做日誌文件達到一定容量時,就會停止寫入,而會轉向第二個日誌文件; 第二個也滿時,就會轉向第三個。當第三個滿時,就會往第一個日誌文件中寫入。在往這原來的紀錄中寫入重做日誌文件的時候,是否需要對原有的紀錄進行備份呢?根據用戶需求的不同,就存在這兩種處理模式。一種是不需要數據庫進行自動備份,這種模式就叫做非歸檔模式; 而當重做日誌改寫原有的重做日誌文件以前,數據庫會自動對原有的日誌文件進行備份的話,這種操作模式就叫做歸檔模式。

  現在擺在數據庫管理員面前有兩個選擇。選擇歸檔模式或者非歸檔模式呢?

  這要根據企業對於數據完整性的要求不同而採取不同的操作模式。筆者的建議是,採用歸檔模式。因爲現在硬盤非常的便宜,故我們可以花比較少的代價,換取比較齊全的數據庫重做日誌文件,個人認爲這對於企業來說,是很值得的。、

  筆者現在的做法是,重做日誌文件至少保存一年。也就是說,當一年過後,就可以重寫原來的日誌文件。這主要是跟企業所處的行業以及對於數據的安全性程度不同而有所區別。如銀行就不同,他們可能要求重新日誌保留十年甚至更長的時間。要知道,對於他們來說,任何一條記錄可能都涉及到很大的資金。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章