採用Oracle Archive Log模式和非Archive Log模式對備份恢復的影響

 備份的目的在於,當系統或數據庫出現問題時,能夠快速將數據庫進行恢復。對於Oracle數據庫,一般有兩種備份方式:“物理備份”和“邏輯備份”。“物理備份”指的是以copy數據文件方式進行備份;“邏輯備份”指的是用export等方式將數據從數據庫中抽取出來。物理備份又可以分爲冷備份和熱備份。以下是各種備份的說明及前提條件。
- Cold Backup(冷備份) 主要指在關閉數據庫的狀態下進行的數據庫完全備份,備份內容包括所有數據文件、控制文件、聯機日誌文件、ini文件。
- Hot Backup(熱備份) 指在數據庫處於運行狀態下,對數據文件和控制文件進行備份,要使用熱備份必須將數據庫運行在(Archive Log)歸檔方式下。
- Export(邏輯備份)這是最簡單的備份方法,可按數據庫中某個表、某個用戶或整個數據庫來導出,並且支持全部、累計、增量三種方式。使用這種方法,數據庫必須處於打開狀態,而且如果數據庫不是在restrict狀態將不能保證導出數據的一致性。

“物理備份”方式以相當於copy數據文件的方式進行備份,恢復時可以快速以相當於copy的方式將備份的數據copy回來,所以備份速度特別是恢復速度非常快。

如果不採用Archive Log模式運行Oracle數據庫,只有兩種可用的備份方法:冷備份或export邏輯備份。根據關鍵業務服務器的特點,停下數據庫進行冷備份是根本不可能的,因此如果不採用Archive Log,只能進行邏輯備份。

如果僅採用“邏輯備份”方式,恢復時會有以下兩個主要問題:
1. 無法恢復到最近時間點的數據。只能恢復到上一次export時的數據狀態,當天的數據將丟失。Archive Log模式下的物理備份可以用數據文件備份及Archive Log備份,將數據庫恢復到數據庫失敗前的時間點,不會丟失數據。
2. 完成恢復可能需要很長時間。恢復只能用import方法進行,所以需要的時間包括:
a. create database及所有的tablespace: 以每2分鐘初始化一個2G的數據文件來計算,建立一個400G的Oracle數據庫需要約6.7個小時。
b. import。時間較難確定,但保守估計應在10個小時以上(如果import過程中出現問題,恢復時間將延長)
3. 恢復時步驟較多,易出現人爲故障。

由於 這些原因,一般備份/恢復時都把export/import的方式做爲輔助備份/恢復方式,對一些重要的表進行二級保護。這種備份方式也稱爲“邏輯備份”方式,當某些重要的表被意外刪除時可進行邏輯import恢復。

而對於整個數據庫的日常備份/恢復,需要採用“物理備份”方式,即以相當於copy數據文件的方式進行備份,恢復時可以快速以相當於copy的方式將備份的數據copy回來。一般物理備份/恢復都採用Oracle RMAN工具來進行。

下面是“邏輯備份”與“物理備份”在數據庫故障時的恢復比較:

1. Oracle邏輯錯誤造成無法啓動
邏輯恢復: 重新create database及各tablespace,import。可恢復到上次export的數據
物理恢復: 將所有datafile copy回來,並利用archivelog將數據庫recover到故障前的狀態

2. 某一個datafile故障或丟失
邏輯恢復: 重新create database及各tablespace,import。可恢復到上次export的數據
物理恢復: 將該datafile copy回來

3. 某一個tablespace故障
邏輯恢復: 重新create database及各tablespace,import。可恢復到上次export的數據
物理恢復: 將該tablespace copy回來

4. 意外drop table
邏輯恢復: Import 該table
物理恢復: 將備份恢復到另一服務器上,export該table,在原數據庫中import

5. 意外drop user
邏輯恢復: Import 該user
物理恢復: 將備份恢復到另一服務器上,export該user,在原數據庫中import

6. 意外drop tablespace
邏輯恢復: 情況較複雜,恢復易造成數據庫表之間的參照完整性被破壞。在此不做分析
物理恢復: 情況較複雜,恢復易造成數據庫表之間的參照完整性被破壞。在此不做分析

在進行數據庫的恢復時,一定要了解Oracle數據庫的原理,分析故障的原因,然後針對故障的情況進行相應的恢復。例如以下情況:
- Oracle程序文件損壞?
- control file損壞?
- Online redo log損壞?
- datafile損壞?
- archive log損壞?
- table或其中數據被意外刪除?

不同情況下需要採用的恢復手段都是不盡相同的,需根據損壞的情況進行相應的恢復步驟。

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