oracle 收集的一些圖

================================================數據庫

================================================安全

dataguard在高可用及容災方面通常是dba的首選,畢竟dataguard在這方面存在壓倒性的優點,不論是物理備用庫(physical standby database)仍是邏輯備用庫(logical standby database),它們都具備一些共同的待徵。網絡

配置和管理方面的成本:dataguard比stream replication簡單方便;
安全與穩定方面的成本:dataguard比stream replication穩定可靠。oracle

對對於一個24x7的系統來講,這些是很是重要的,系統宕機時間的增長不只影響着公司的形象,還會影響公司的效益;採用dataguard,數據的安全性至關有保障,物理備用庫能夠在最短的時間完成故障切換,邏輯備用庫在保障數據安全的同時,也能夠承擔大量的報表等業務;因爲dataguard的配置與管理比較簡單,同理也下降了dba的工做強度;那什麼狀況下選擇使用stream replication呢?
l 局部複製 stream能夠只複製某些表或某些模式
l 異構環境 充分利用現有的設備與技術
l 遠程容災 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對網絡的需求下降了不少,在遠程異地容災的過程當中,租用網絡帶寬是一筆較高的費用,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爭奪企業數據複製市場的重任。
綜上所述,oracle在數據複製方面,dataguard、advanced replication、stream replication都有本身的特色及獨到的地方,作爲dba,用什麼樣的方案取決於目前的設備環境、業務需求、未來的發展趨勢以及已經成熟的技術。固然,對於已經選擇的數據複製方案,技術上必須有必定的掌握;畢竟全部的方案都不是沒有問題的,即便目前較安全、穩定、便於管理的dataguard,也會出現一些莫明其妙的事情,因此最好作到良好的監控,預防可能存在的問題,問題一旦發生,能快速地解決問題。app

高級複製與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來實施。
兩種都用了一段時間了,實際使用來看,streams複製須要更少的帶寬,2m帶寬,若是 streams複製不行,高級複製大概更沒戲,可是用streams最好別網絡斷線時間過長,不知道是bug仍是oracle沒考慮這種狀況,若是複製停頓一段時間,再恢復正常,大概是隊列表中消息太多了,入隊出隊都很慢,非線性增加啊,這樣就須要不短的一段時間來同步數據,高級複製就沒這種情況。
bug,反正10,2,0,1有一些,看你碰的到碰不到了,嚴重的能讓你刪掉隊列表重建才行,意味着基本是重建整個複製了,不過想重複一下又不出現了;還有使用negative rule若是站點多了遇到大的更新事務速度就變得極慢,站點多了要先設計好結構;會不停在有apply進程的站點udump目錄下生成trc文件,雖然還算不上很成熟,不過streams複製真是好東西,之後一定會取代高級複製,建議打10.2.0.3補丁,聽說修正了很多bug。性能

stream對系統的設計與維護方要有至關的對stream技術的把控能力,而大多數系分與DBA對這個東西都沒有經驗,因此難以推廣;dataguard勝在維護簡單可靠,通常dba均可以維護。stream之後會的前景會很是廣闊! 尤爲是雙向複製,解決了不少實際問題操作系統

相關文章
相關標籤/搜索