Oracle Dataguard 介紹
一、 DataGuard的基本原理
當某次交易處理對生產資料庫中的資料作出更改時,Oracle資料庫將在一個聯機重做記錄檔中記錄此次更改。在DataGuard中可以配置寫日誌的這個過程,除了把日誌記錄到本地的聯機記錄檔和歸檔記錄檔中,還可以通過網路,把日誌資訊發送到遠端從(standby)資料庫伺服器上。這個備用記錄檔寫入過程可以是即時、同步的,以實現零資料丟失(最大保護模式maximum protection);也可以是非同步,以減少對網路頻寬的壓力(最大效能模式maximum performance);或者是非同步和同步可以自動切換的模式(最大可用模式maximum availability)。當備份資料庫接收到日誌資訊後,Data Guard可以自動利用日誌資訊實現資料與主要資料庫的即時同步。當主要資料庫開啟並處於活動狀態時,備用資料庫可以執行恢複操作,如果主要資料庫出現了故障,備用資料庫即可以被啟用並接管生產資料庫的工作。
二、 三種模式的特點
保護模式 |
在出現災難時資料丟失的風險 |
重做傳輸機制 |
是否需要standby redo log |
磁碟寫入 |
最大保護 |
零資料丟失 |
LGWRSYNC |
YES |
AFFIRM |
最高可用性 |
零資料丟失 |
LGWRSYNC |
YES |
AFFIRM |
最高效能 |
最小資料丟失 - 通常為幾秒 |
LGWR ASYNC 或 ARCH |
可沒有但推薦有 |
AFFIRM 或 NOAFFIRM |
AFFIRM:表示主要資料庫上的REDO LOG只有被寫入到從資料庫的standby log才算有效。
n 最大保護模式
最大保護模式為主要資料庫提供了最高水平的資料保護,從而確保了一個全面的零資料丟失災難恢複解決方案。當在最大保護模式下運行時,重做記錄由日誌寫入器 (LGWR) 進程從主要資料庫同步地傳輸到備用資料庫,並且直到確認交易資料在至少一個待命伺服器上的磁碟上可用時,才在主要資料庫上提交事務。強烈建議,這種模式應至少配置兩個備用資料庫。當最後參與的備用資料庫不可用時,主要資料庫上的處理將停止。這就確保了當主要資料庫與其所有備用資料庫失去聯絡時,不會丟失事務。
由於重做傳輸的同步特性,這種最大保護模式可能潛在地影響主要資料庫回應時間。可以通過配置一個低延遲網路,並為它分配足夠應付高峰事務負載的頻寬來將這種影響減到最小。需要這種最大保護模式的企業有股票證券交易所、貨幣證券交易所、金融機構等。
n 最高可用性模式
最高可用性模式擁有僅次於最高水平的主要資料庫資料可用性。如同最大保護模式一樣,重做資料由 LGWR 從主要資料庫同步地傳輸到備用資料庫,直到確認交易資料在待命伺服器的磁碟上可用時,事務才在主要資料庫上完成。不過,在這種模式下(與最大保護模式不同),如果最後參與的備用資料庫變為不可用 — 例如由於網路連接問題,處理將在主要資料庫上繼續進行(類似於MySQL-5.5中的半同步複製)。備用資料庫與主要資料庫相比,可能暫時落在後面,但當它再次變為可用時,備用資料庫將使用主要資料庫上累積的歸檔日誌自動同步,而不會遺失資料。
由於同步重做傳輸,這種保護模式可潛在地影響回應時間和輸送量。可以通過配置一個低延遲網路,並為它分配足夠應付高峰事務負載的頻寬來將這種影響減到最小。
最高可用性模式適用於想要確保獲得零資料丟失保護,但不想讓生產資料庫受網路/待命伺服器故障影響的企業。如果又一個故障隨後影響了生產資料庫,然後最初的網路/待命伺服器故障得到解決,那麼這些企業將接受資料丟失的可能性。
n 最高效能模式
最高效能模式是預設的保護模式。它與最高可用性模式相比,提供了稍微少一些的主要資料庫資料保護,但提供了更高的效能。在這種模式下,當主要資料庫處理事務時,重做資料由 LGWR 進程非同步傳輸到備用資料庫上。另外,也可以將主要資料庫上的歸檔器進程 (ARCH) 配置為在這種模式下傳輸重做資料。在任何情況下,均先完成主要資料庫上的寫操作,主要資料庫的提交操作不等待備用資料庫確認接收(類似於MySQL中的非同步複製)。如果任意備用目標資料庫變為不可用,則處理將在主要資料庫上繼續進行,這對效能只有很小的影響或沒有影響。
在主要資料庫出現故障的情況下,尚未被發送到備用資料庫的重做資料會丟失。但是,如果網路有足夠的輸送量來跟上重做流量高峰,並且使用了 LGWR 進程來將重做流量傳輸到待命伺服器,則丟失的事務將非常少或者為零。
三、 Oracle Dataguard三種保護模式特點
n 最大保護模式
1).這種模式提供了最進階別的資料保護能力
2).重做日誌在至少一個物理從庫資料庫後,主庫的事務才能夠提交
3).主庫找不到合適的從庫寫入時,主庫會自動關閉,防止無保護的資料出現
4).優點:該模式可以保證從庫沒有資料丟失
5).缺點:主庫的自動關閉會影響到主庫的可用性,同時需要從庫恢複後才能提交,對網路等客觀條件要求非常的高,主庫的效能會受到非常大的影響。
n 最大可用性模式
1).這種模式提供了僅次於“最大保護模式”的資料保護能力
2).重做日誌在至少一個物理從庫資料庫後,主庫的事務才能夠提交
3).主庫找不到合適的從庫寫入時,主庫不會關閉,而是臨時降低到“最大效能模式”模式,直到問題得到處理
4).優點:該模式可以在沒有問題出現的情況下保證從庫沒有資料丟失,是一種折中的方法
5).缺點:在正常啟動並執行過程中缺點是主庫的效能收到諸多因素的影響
n 最大效能模式
1).預設模式,提供主要資料庫的最高可用性
2).保證主庫運行過程中不受從庫的影響,主庫事務正常提交,不因從庫的任何問題影響到主庫的運行
3).優點:避免了從庫對主要資料庫的效能和可用性影響
4).缺點:如果與主庫提交的事務相關的恢複資料沒有發送到從庫,這些交易資料將被丟失,不能保證資料無損失