方案概述
DataGuard是一種資料庫級別的HA方案,最主要功能是 容災 、 數據保護 、故障恢復等。
DataGuard是生產資料庫的"事務一致性copy",創建時,使用生產庫的物理copy.創建完成後,備庫會通過生產庫傳輸過來的 歸檔日誌 (或重做條目)自動維護備用資料庫。將重做數據套用到備用庫。
類型
DataGuard分為"物理standby"和"邏輯standby"
物理standby
主備庫之間物理結構,邏輯結構保持一致。通常情況下備用庫通過主庫傳輸過來的歸檔日誌做恢復。
基於"塊對塊"方式。與主資料庫相同。物理standby等同於生產庫。物理standby能以read only方式打開(或者在flashback資料庫下以"讀寫方式打開")。
物理standby一旦以"讀寫"方式打開,備用庫將不會從主資料庫接受重做數據。只有當備庫flashback到過去的點,當備用庫flashback到"讀寫"打開時間點前的狀態時, DataGuard會自動同步備庫與主庫。才能恢復standby角色。
邏輯standby
只保證邏輯結構與主庫一致。備用庫要處於打開狀態,通過從主庫歸檔日誌檔案中提取出來的SQL語句做恢復。
創建時,與物理standby一樣,使用主庫copy.
邏輯備庫通過執行SQL語句來更新。 DataGuard轉換日誌檔案中的數據為SQL語句,然後在邏輯standby上執行SQL語句.因為邏輯standby是通過SQL語句來實現數據同步,那么在同步期間其必須保持打開狀態。
服務
1.重做傳輸服務
控制重做數據從生產機傳輸到一個或多個備用庫。
2.日誌套用服務
2.1 生產庫上通過ARCH進程生成歸檔日誌檔案,然後傳輸到備用庫,備用庫再從歸檔日誌中恢複數據
2.2 實時模式時,生產庫上的操作通過LGWR進程實時反映在備用庫的備用日誌檔案中,備用庫從備用日誌檔案實時恢複數據。
3.角色切換
主備庫用戶角色的切換。
三種保護模式
1.最大保護
這種模式主備庫之間數據是同步的。即主庫提交的同時,備庫會做相應的恢復。最大限度的保證了數據完整性。不允許數據的丟失。
如果主備庫之間網路,或者備庫出現問題會直接影響主庫操作。導致主庫宕機。
2.最大可用性
這種模式和"最大保護"基本上差不多。正常情況下,主備庫之間是同步的。
當網路或者備庫出現問題時,不會影響到主庫的宕機,主庫會自動轉換庫"最大性能"模式,等待備庫可用時,將歸檔傳輸到備庫做恢復。
可以把這種模式理解為"最大保護"和"最大性能"兩種模式的中間體。
3.最大性能
這種模式保證主庫性能最大化,主備庫之間數據是異步傳輸的。即,主庫日誌歸檔以後才會傳輸到備用庫,在備庫上使用歸檔日誌檔案做恢復操作。