Oracle資料庫同步技術2

DBAORACLE發表於2009-11-17

二、Streams資料同步技術

Streams是從版本Oracle 9i才開始具有的資料同步功能,是為提高資料庫的高可用性和資料的分發和共享功能而設計的,Streams利用高階佇列技術,透過用LogMiner挖掘日誌檔案生成變更的邏輯記錄,然後將這些變更應用到目標資料庫上,從而實現資料庫之間或一個資料庫內部的資料同步。

[@more@]

Streams資料同步大致分如下幾個步驟:

1) Capture程式分析日誌,生成邏輯記錄LCR,將其放入一個佇列中;

2) Propagation程式將LCR傳送到另一個資料庫中,通常是目標資料庫;

3) 在目標資料庫中,Apply程式將LCR應用到目標庫,實現資料的同步;

該處理過程的資訊流如下圖:

在簡單的Streams配置中,Capture程式一般位於源資料庫,因此叫做Local Capture ProcessCapture程式在分析日誌後將生成的LCR放入佇列中,由Propagation程式將LCR傳送到目標庫中。這樣做的好處是不用在網路上傳送整個的日誌檔案,因此可提高網路傳輸的效率,但這一般會給源資料庫帶來較大的壓力,影響其效能。

另一種配置是Capture程式位於Downstream資料庫中,源資料庫只負責將日誌檔案傳送(日誌傳輸方式可為ARCH傳輸、LGWR同步傳輸和LGWR非同步傳輸中的任何一種)到Downstream資料庫中,所有的Capture操作都在Downstream資料庫上完成。這種配置的好處是可以大大降低源資料庫的壓力,缺點是需要傳輸整個日誌檔案,對網路頻寬要求較高。

Streams資料同步技術有以下優勢:

1) 可支援一對多、多對一和雙向複製,可用於資料分發和共享,這是DataGuard所不具備的;

2) 可靈活配置只複製資料庫中的一部分物件,如可按Table複製、Schema複製,表空間複製等,並可在複製過程中對資料進行過濾和轉換,使之滿足不同的需要;

3) DataGuard一樣,是Oracle內建功能,與每個Oracle新版本的新特性(如ASM)都完全相容,且不需要額外付費;

4) 可用於異構的作業系統和資料庫版本,但有一些限制;

5) 可支援非Oracle資料庫和Oracle資料庫之間的資料同步;

6) 目標資料庫處於開啟狀態,可以在保持資料同步的同時執行查詢等操作,分擔源資料庫的壓力;

Streams資料同步技術有以下缺點:

1) 配置維護較複雜,需要較高的技術水平;

2) 在非Downstream複製中,對源資料庫壓力較大;如果使用Downstream複製,則增加了配置的複雜性且需要透過網路傳輸整個日誌檔案,對網路頻寬要求較高;

3) 不能支援某些特定的資料物件和資料型別;

4) 不能保證資料的零丟失;

Oracle公司將Streams技術定位於資料的分發和共享,雖然也可用於高可用的災難恢復場合,但Oracle推薦使用的災難恢復技術是DataGuard

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9931/viewspace-1028798/,如需轉載,請註明出處,否則將追究法律責任。

相關文章