Oracle高級復制即可支持基於整個表的復制也可支持基於部分表的復制兩種復制方案
這兩種復制方案主要是通過Oracle的兩種復制機制來完成的
即多主復制和可更新快照復制
同時還可以將這兩種復制機制結合起來以滿足不斷變化的業務需求
多主復制 多主復制方案支持全表在各個主節點間的對稱復制
允許所有主節點對主表都有更新操作的權利
任何一個主節點上的復制表的更新都會被傳播並被直接應用到其他所有主表
一個主節點出現問題
不會對其他主節點之間變化的傳播造成影響
多主復制采用一種稱為
延遲遠程過程調用(deferred remote procedure calls RPCs)
的機制作為主要的傳播和應用變化的機制
各節點之間變化的傳播
既可以以基於事件的方式立即傳播
也可以在某個特定的時間點
如在網絡空閒時(如晚上)傳播
在傳播變化時
如果其中的一個遠端系統沒有准備好
傳播變化的延遲遠程過程調用(RPCs)就會保存在其本地隊列中
等到系統准備好以後再執行
可更新快照 Oracle將最早Oracle
上的只讀快照機制擴展為一種允許快照可更新的對稱復制機制
快照更新的傳播方式和如何應用到快照主節點采用了和多主復制一樣的延遲遠程過程調用機制
對於快照的定義
既可以是包含一個主表的完全拷貝
也可以是為滿足基於值的選擇標准的主表中行的子集
快照在主節點的刷新是按照一定的時間間隔或用戶單獨請求進行的
最後一次刷新後主表的任何變化也同樣被傳播並應用到快照
多個快照的刷新是在一個一致的事務中完成的
這就確保了數據和引用的完整性
混合配置 可以將多主復制和可更新快照復制結合在一起
構成一種新的混合配置
這種配置可以完成對全表或者子表的復制
例如下面這種應用就是一個典型的混合配置方案
一個系統具有兩個位於不同地理區域的中心節點
這兩個不同的地理區域下面還有一些分支機構
兩個中心節點可以彼此看做是自己的備份節點
采用多主復制方法在兩個中心站點之間復制數據
同時采用只讀或者可更新快照復制方法在每個區域范圍中的主節點之間復制全表或者子表
這種配置的一個顯著好處就是當其中的一個中心節點發生問題時
這些快照的主節點可以被重新定義到另一個運行良好的中心節點
從而提高了系統的可靠性
其他復制機制 Oracle除了前面討論的三種復制機制以外
還提供了另外兩種復制機制
過程級復制和同步復制
(
) 過程級復制
這種復制方案主要應用在存在大量數據更新以及采取批處理方式操作數據時需要復制數據的情況
例如
下面這個應用
一個以年為單位管理客戶訂單的公司
對於老的訂單數據不再需要在線保存
而需要卸載到某存儲介質中
這時
如果在多個節點間復制每一獨立的行級變化效率將是非常低的
對於這種情況
可以直接在每個復制節點執行一個過程來直接進行這種更新操作
Oracle高級復制提供的分布式模式管理功能(將在下面詳細討論)可以非常方便地在多個節點上設置和維護過程級復制的遠程過程
(
) 同步復制
一個采用同步復制方案的表發生變化時
Oracle會確保這種變化能夠成功地作用在本地表和其他節點的復制表
如果失敗則整個事務會被成功回滾
同步復制在網絡的穩定性比較高的情況下是可行的
可以保證復制節點之間的復制數據一直保持同步
From:http://tw.wingwit.com/Article/program/Oracle/201311/18264.html