oracle三種複製技術之比較

2021-08-31 23:08:44 字數 2439 閱讀 2726

oracle提供三種高階備份功能

高階複製(advanced replication)

流複製(streams replication)

備庫(data guard)

一 dataguard:

dataguard在高可用及容災方面一般是dba的首選,不管是物理備用庫(physical standby database)還是邏輯備用庫(logical standby database),它們都具有一些共同的待徵。

配置和管理方面的成本:dataguard比stream replication簡單方便

安全與穩定方面的成本:dataguard比stream replication穩定可靠。

二 流複製:

適用於如下情況:

1、區域性複製 stream可以只複製某些表或某些模式

2、異構環境 充分利用現有的裝置與技術

3、遠端容災 stream對網路的要求較dataguard低

stream replication有靈活的複製策略,不僅可以配置只複製某些表,還可以配置僅複製某些表上的ddl或dml,相比dataguard必須整個資料庫 複製而言,可以節省相當的儲存投資。

如果在異構環境,即不同的作業系統 ,那dataguard將會束手無策,非stream replication莫屬,這樣可以充分利用現有的環境,配置高用可方案,在異構環境,stream replication將會是advanced replication的強勁對手。

stream replication傳播的是經過logmnr挖掘幷包裝的邏輯改變記錄(lcrs),相比dataguard傳送archived redo log、advanced replication的mview log與mview重新整理的方式,stream replication對網路的需求降低了很多,

三 高階複製:

advanced replication相對於dataguard,缺點是:配置與管理較複雜、安全與穩定性不夠;優點:區域性複製、異構環境等。advanced replication是一種相當成熟的技術,在許多關鍵系統中得到成功的運用,相對於9ir2推出的stream replication而言,雙方適用的環境雖然相當,比如都可以進行區域性複製、異構複製、遠端容災等,advanced replication目前在穩定性與安全性方面更經得起考驗。

對比stream replication與advanced replication底層的實現技術,stream replication在實時性、穩定性、高效率、低消耗(較少的cpu/network資源)等方面更有優勢,但凡一些新推出的功能,都或多或少存在一 些不確定的因素。

在10gr1中,oracle針對目前stream replication存在的弱點進行了增強,不僅提供了從advanced replication遷移到stream replication的指令碼,還提供了stream replication的配置與監控工具,stream replication在配置與管理方面必將智慧型化、簡單化,擔負起與shareplex爭奪企業資料複製市場的重任。

四 高階複製與流複製區別

高階複製與streams replication的原理是完全不同的,streams replication可以到表,使用者,資料庫級別,但高階複製似乎只能到表一級。

streams replication不是高階複製的公升級版。

異構環境下,oracle的高可用和容災有高階複製和stream 複製兩種,兩種的異同點如下:

1.高階複製是基於觸發器(trigger)原理,而stream是基於日誌 挖掘原理,因此stream複製對源資料庫的效能影響更小,但實時性不如高階複製。

2.高階複製複製的物件是基於資料庫目標(object)的,如表、索引和儲存過程,而stream複製可以針對表、方案(schema)和整個資料庫,因此如果出於容災整個資料庫的考慮,stream複製的配置相對簡單。

3.高階複製是一種相當成熟的技術,在許多關鍵系統中得到成功的運用,相對於9ir2推出的stream複製,高階複製目前在穩定性與安全性方面更經得起考驗。

4.從發展的角度看,流的應用會越來越多,從oracle10g,oracle公司提供了從高階複製向流複製移植的工具,可以看出,oracle公司會更偏重於基於流的新技術。

5.由於高階複製是基於觸發器的,因此所有的複製物件結構(ddl)的改變,都必須通過oracle提供的複製包來實施,和應用結合的比較緊,更適合於開發者使用,而流複製則更適合dba來實施。

6. 流複製支援雙向資料複製,而高階複製會有衝突;

7. 流複製支援異構資料庫複製,而沒有資料說明高階複製也有相同功能;

兩種實際使用來看,streams複製需要更少的頻寬,2m頻寬,如果 streams複製不行,高階複製大概更沒戲,但是用streams最好別網路斷線時間過長,不知道是bug還是oracle沒考慮這種情況,如果複製停 頓一段時間,再恢復正常,大概是隊列表中訊息太多了,入隊出隊都很慢,非線性增長啊,這樣就需要不短的一段時間來同步資料,高階複製就沒這種狀況

參考至:

如有錯誤,歡迎指正

ORACLE批量更新三種方法比較

oracle批量更新三種方法比較 2008 05 30 11 55 46 標籤 雜談 資料庫 oracle 9i 測試工具 pl sql 定義2張測試表 t1,t2 t1 大表 10000條 t1 fk id t2 小表 5000條 t2 pk id t1通過表中字段id與t2的主鍵id關聯 模擬資...

三種執行緒池比較

伺服器程式 最核心的任務之一就是處理一組任務,在處理一組任務的時候最常見的做法是用執行緒池,最常見的執行緒池一般是由一組執行緒等待在乙個訊號燈上,有乙個任務到達後解鎖乙個執行緒,讓該執行緒去處理任務,執行緒處理完成後又回歸到執行緒池,此做法比來乙個任務分配乙個執行緒的古老方法效率高了很多,但這也不是...

三種執行緒池比較

三種執行緒池比較 伺服器程式最核心的任務之一就是處理一組任務,在處理一組任務的時候最常見的做法是用執行緒池,最常見的執行緒池一般是由一組執行緒等待在乙個訊號燈上,有乙個任務到達後解鎖乙個執行緒,讓該執行緒去處理任務,執行緒處理完成後又回歸到執行緒池,此做法比來乙個任務分配乙個執行緒的古老方法效率高了...