Oracle DML 中的物件與作業支援詳細資訊
以下是 Oracle GoldenGate 支援擷取及複製 DML 作業的 Oracle 物件和作業清單。
多租用戶容器資料庫
Oracle GoldenGate 會從多雲端用戶容器資料庫擷取並傳遞給該資料庫。請參閱設定多雲端用戶容器資料庫。
Oracle GoldenGate 不支援應用程式容器 Root-Child 端對端複製
表格、視觀表及具體化視觀表
一般表格、索引組織表格、叢集表格以及具體化視觀表都支援下列 DML 作業:
-
INSERT -
UPDATE -
DELETE -
關聯的異動控制作業
從 Oracle GoldenGate 23ai 開始,表格提供下列功能:
-
資料列大小小於 4 MB 之表格中的 4K 資料欄
-
區塊鏈和不可變表格
如需詳細資訊,請參閱區塊鏈和不可變資料表的支援限制。
小秘訣:
您可以使用 DBA_GOLDENGATE_SUPPORT_MODE 資料說明視觀表來顯示資料庫中之表格的 Oracle GoldenGate 擷取處理作業支援層次的相關資訊。DBA_GOLDENGATE_SUPPORT_MODE 的 PLSQL 值表示支援原生表格,但需要程序補充記錄。如需更多資訊,請參閱 DBA_GOLDENGATE_SUPPORT_MODE 。如果您需要顯示所有沒有主要且沒有非空值唯一索引的表格,可以使用 DBA_GOLDENGATE_NOT_UNIQUE。如需詳細資訊,請參閱 DBA_GOLDENGATE_NOT_UNIQUE。
一般表格的支援限制
這些限制適用於 Extract。
-
Oracle GoldenGate 支援包含任意數目資料列的表格。
-
資料列的長度上限為 4 MB。如果 Oracle GoldenGate 設定為在其處理範圍中同時包含資料欄的前後影像,則最大長度為 4 MB,適用於影像前的完整總長度加上後影像的長度。例如,如果將資料欄當作資料列 ID 進行
UPDATE作業,系統就會處理之前和之後的影像,而且總計不能超過 4 MB。如果資料欄不是資料列 ID,但在衝突偵測和解決 (CDR) 中被當作比較資料欄,則影像之前和之後也都是必要的。允許超過 4 KB 資料的字元資料欄 (例如CLOB),只有前 4 KB 的資料儲存在資料列中,並佔最大 4 MB 的資料列長度。允許超過 4kb 資料的二進位資料欄 (例如BLOB),前 8 KB 的資料會以資料列方式儲存,並有助於 4MB 的資料列長度上限。 -
Oracle GoldenGate 支援資料庫所支援之每個表格的資料欄數目上限。
-
Oracle GoldenGate 支援資料庫所支援的資料欄大小上限。
-
Oracle GoldenGate 支援僅包含一個資料欄的表格,但資料欄包含下列其中一種資料類型時除外:
-
LOB -
LONG -
LONG VARCHAR -
Nested table -
使用者定義類型 (UDT)
-
VARRAY -
XMLType
-
-
請先設定
DBOPTIONS ALLOWUNUSEDCOLUMN,再以未使用的資料欄複製來源和目標表格。 -
Oracle GoldenGate 支援具有下列分割屬性的表格:
-
範圍分區
-
雜湊分割間隔分割
-
複合分割
-
虛擬以資料欄為基礎的分割
-
參照分割
-
清單分割
-
-
Oracle GoldenGate 支援具有虛擬資料欄的表格,但不會擷取這些資料欄的變更資料,也不會對它們套用變更資料:資料庫不會將虛擬資料欄寫入交易日誌,而 Oracle AI Database 不允許在虛擬資料欄使用 DML。因此,無法將初始載入資料套用至虛擬資料欄。您可以將資料從虛擬資料欄對應至非虛擬目標資料欄。
-
Oracle GoldenGate 不會考量虛擬資料欄的唯一 / 索引。
-
Oracle GoldenGate 支援從 Oracle Exadata 進行複製。若要支援「Exadata 混合分欄壓縮」,來源資料庫相容性必須設為 11.2.0.0.0 或更新的版本。
-
Oracle GoldenGate 支援通透資料加密 (TDE)。
-
Oracle GoldenGate 支援
TRUNCATE敘述句作為其 DDL 複製支援的一部分,或支援獨立於 DDL 支援的獨立功能。 -
Oracle GoldenGate 支援擷取直接載入
INSERT,但「XML 二進位檔」和「XML 物件關聯」的 SQL*Loader 直接路徑插入除外。必須啟用補充日誌記錄,而且資料庫必須處於存檔日誌模式。支援下列直接載入方法。-
/*+ APPEND */提示 -
/*+ PARALLEL */提示 -
SQLLDR與DIRECT=TRUE
-
-
Oracle GoldenGate 完全支援從 Extract 的壓縮物件擷取。
-
Oracle GoldenGate 支援 XA 和 PDML 分散式交易。
-
Oracle GoldenGate 支援啟用
FLASHBACK ARCHIVE之表格上的 DML 作業。不過,Oracle GoldenGate 不支援 DDL 建立具有FLASHBACK ARCHIVE子句或 DDL 的表格,以建立、更改或刪除倒溯資料存檔本身。
檢視的支援限制
這些限制適用於 Extract。
-
Extract 處於起始載入模式 (直接從來源檢視擷取,而非重做日誌) 時,Oracle GoldenGate 支援從視觀表擷取。
-
Oracle GoldenGate 不會從視觀表擷取變更資料,但支援從視觀表的基礎表格擷取。
具體化視觀表的支援限制
Extract 支援具體化視觀表,但有下列限制。
-
不支援建立
WITH ROWID的具體化視觀表。 -
具體化視觀表日誌可以建立
WITH ROWID。 -
來源表格必須具有主索引鍵。
-
不支援截斷具體化視觀表。您可以使用
DELETE FROM敘述句。 -
支援完全重新整理具體化視觀表的 DML (但不包括 DDL)。如果需要此功能的 DDL 支援,請開啟 Oracle GoldenGate 支援案例。
-
對於 Replicat,
Create MV命令必須包含FOR UPDATE子句 -
可以複製具體化視觀表或基礎基本表格,但不能同時複製兩者。
區塊鏈和不可變表格的支援限制
從 Oracle AI Database 26ai 開始,支援不可變和區塊鏈資料表。下列是支援的功能作業:
支援單向複寫
-
除了協調式 Replicat 之外,所有 Replicat 都支援區塊鏈表格版本 v1 (Oracle Database 19.10 中導入) 和 v2 (Oracle AI Database 26ai 中導入) 以及不可變表格版本 v1 (Oracle Database 19.11 中導入) 和 v2 (Oracle AI Database 26ai 中導入)。
-
類型與版本之間的互通性:
-
支援將來源任何版本的區塊鏈和不可變表格複寫至目標的傳統表格。
-
不支援將來源的傳統表格複寫至目標任何版本的區塊鏈和不可變表格。
-
-
必須啟用 DML、DDL 以及程序複寫。若為程序複寫,必須附加區塊鏈表格。
-
不會複製過期資料列的刪除作業。到期由每個資料庫系統個別管理。
支援雙向 (作用中 - 作用中) 複寫
-
僅支援版本 v2。
-
僅支援整合模式和整合式 Replicat 的平行 Replicat。
-
必須設定 ACDR。區塊鏈和不可變表格的 ACDR 包含下列解析方法:
-
最新時間戳記
-
最早時戳注意:不支援其他解析方法 (例如「資料欄」群組或差異解析)。不支援手動 CDR。
-
-
區塊鏈或不可變表格最多只能有一個主索引鍵或唯一限制條件,而且不能有唯一的索引。
-
ACDR 之區塊鏈或不可變表格上的主索引鍵或唯一索引鍵限制條件使用非唯一索引。
-
ACDR 只會管理 INSERT-INSERT 衝突,因為區塊鏈和不可變表格是僅限 INSERT 的表格。ACDR 會為時戳 (
CDRTS$ROW) 和可見性 (ORABCTAB_INVISIBLE$) 新增兩個隱藏的資料欄。
這些隱藏欄的運作方式如下:
ACDR 會解決衝突,並保留兩份列。它會透過將隱藏的資料欄
ORABCTAB_INVISIBLE$設為 1 ,將通常會捨棄或覆寫為邏輯無效的衝突 INSERT 標示出來。因此,可能會有多個資料列具有相同的索引鍵值,但每個索引鍵最多只能有 1 個資料列有效,且ORABCTAB_INVISIBLE$設為 0。 -
DML 自動擷取
Oracle GoldenGate 支援下列自動擷取模式的 DML 作業:
-
支援
TABLEEXCLUSION參數。 -
支援
TABLE參數。 -
Extract 會寫入資料庫傳遞的表格 DML 記錄,以自動擷取至歷程檔。
系統分割
系統分割是一項 Oracle AI Database 功能,可使用具名分割區建立表格。系統分割的表格不是由資料庫維護。每個 DML 都必須指定資料列所在的分割區。擷取和所有 Replicat 模式都支援系統分割。與系統分割表格相關的每個歷程檔記錄標頭都包含分割區名稱。從 Oracle GoldenGate 21c 開始,系統會針對系統分割的表格 (如果包含在 PARTITION 參數中) 產生分割區名稱記錄 (PNR)。
請參閱 Oracle GoldenGate 的參數和函數參照中的 PARTITION \| PARTITIONEXCLUDE 。
序列和識別資料欄
-
Oracle 資料庫 18c 支援識別資料欄,而且需要 Extract、Parallel Replicat (整合模式) 或 Integrated Replicat (整合式 Replicat)。
注意:不支援複製「識別」資料欄的系統產生序列。
-
Oracle GoldenGate 支援在單向和主動 - 被動高可用性組態中複製序列值和識別資料欄。
-
Oracle GoldenGate 會確保目標順序值一律高於來源的順序值 (如果快取為零,則為等於它們)。
序列的支援限制
這些限制適用於 Extract。
-
Oracle GoldenGate 不支援複製作用中雙向組態中的序列值。
-
來源和目標序列的快取大小和增量間隔必須相同。快取可以是任何大小,包括 0 (
NOCACHE)。 -
序列可以設定為循環或不循環,但來源和目標資料庫的設定方式必須相同。
-
具有預設順序資料欄的表格會從 Extract 的複製中排除。
Oracle DML 中不支援的物件與作業
以下是 Extract 不支援的其他 Oracle 物件或作業:
-
支援原生支援
REF以與 Oracle Database 12。2 和更新版本相容,但不支援主要金鑰REFs(PKREFs) -
主動 - 主動雙向組態中的順序值
-
資料庫重新執行
-
建立為
EXTERNAL的表格