1. 程式人生 > >GoldenGate V11.1數據復制限制

GoldenGate V11.1數據復制限制

ora 參數 trigger 普通 link dml 結構化 set label

以下對goldengate數據復制的限制情況進行說明。

不支持文件等非結構化數據復制

GoldenGate依賴對於數據庫日誌的解析獲取數據變化,因此只能支持數據庫中的數據變化復制,無法支持文件等非結構化數據的復制。

Oracle數據類型限制

GoldenGate支持Oralce常見數據類型的復制。

GoldenGate不支持的數據類型

1) ANYDATA

2) ANYDATASET

3) ANYTYPE

4) BFILE

5) BINARY_INTEGER

6) MLSLABEL

7) PLS_INTEGER

8) TIMEZONE_ABBR

9) TIMEZONE_REGION

10) URITYPE

11) UROWID

GoldenGate有限制支持XML Type復制

1) 僅限於Oracle 9i及以後版本

2) 表必須有主鍵或者唯一索引

GoldenGate有限制支持UDT用戶自定義類型復制

如果系統中存在UDT用戶自定義類型,請聯系技術支持人員並提供腳本。

Oracle DML操作支持

GoldenGate當前支持普通表的所有DML操作和有限制支持部分特殊對象的DML操作,對於特殊表或對象請參照後面特殊對象一節的說明。

GoldenGate不支持nologging的表等對象

當表或表空間被設置為nologging後,使用sqlloader或者append等非常規模式插入數據將不會被寫入到數據庫日誌,因此GoldenGate無法獲取這些數據變化。建議將所有需要的業務表設置為logging狀態,對於nologging的表不予以復制。

GoldenGate暫不支持對象和操作如下

1) REF

2) 使用COMPRESS 選項建立的表空間和表

3) Database Replay

GoldenGate可以通過復制源表支持對於同義詞或者DBLink的復制

由於對於這些對象本身的操作發生於其所鏈接的源數據庫對象,數據庫日誌中並不記錄對這些鏈接目標對象的操作,因此GoldenGate不復制對同義詞或者DBLink本身的操作,但這些操作會應用在源表上並產生日誌,因此可以通過復制源表復制變化。

GoldenGate有限制支持IOT索引組織表復制

1) 僅限於Oracle 10.2及以後版本

2) 能夠支持使用MAPPING TABLE創建的IOT,但是只抽取基表的數據變化,而不是MAPPING TABLE。

3) 不支持以compress模式存儲的IOT。例如,不支持存儲在一個使用compress選項的表空間裏的IOT。

GoldenGate有限制支持Clustered Table復制

1) 僅限於Oracle 9i及以後版本

2) 不支持Encrypted加密和compressed壓縮的clustered tables

GoldenGate有限制支持物化視圖復制

1) 不支持使用WITH ROWID選項創建的物化視圖

2) 源表必須有主鍵

3) 不支持物化視圖的Truncate但支持DELETE FROM

4) 目標物化視圖必須是可更新的

5) 只在Oracle 10g或以後的版本支持物化視圖的Full refresh

Oracle DDL復制限制

GoldenGateDDL復制的原理是通過Trigger從源數據庫獲取sql,到目標端進行重現,在實際使用中有較多限制,即源端能夠執行的sql到了目標端未必能夠執行成功。以下為常見的一些問題:

1) 當SQL語句裏面設計的對象在目標不存在時,DDL無法執行成功。例如,源建立了一個DBLINk或create table as select * from mydblink,此時目標端可能並沒有這個dblink指向的庫或對象,所以sql語句會報錯;

2) 當兩端的物理位置不同時,建立data file或tablespace等與物理位置相關的語句需要在目標端替換為目標的物理位置;

3) 當創建約束沒有指定名稱時,在源和目標會生成不同名稱的對象,這樣以後對這些對象再進行修改時就無法正確映射到目標端;

4) 當復制帶有LOB的表時,ddl操作必須等待DML操作全部完成以後再復制;

5) 不能復制表明和列名帶有中文的表;

6) 表或其它對象的定義裏面不能加入中文註釋;

7) 不能復制帶有編譯錯誤的CREATE trigger/procedure/function/package等對象;

8) 不能復制結尾帶有‘/’的sql語句.

此外,GoldenGate DDL復制需要關閉Oracle的_RECYCLEBIN參數(Oracle 10.1)或者RECYCLEBIN參數(Oracle 10.2及以後版本)。

GoldenGate V11.1數據復制限制