TRANLOGOPTIONS

有效對象

擷取

說明

根據資料庫或擷取模式,使用 TRANLOGOPTIONS 參數控制 Extract 與交易日誌互動的方式,或與傳遞交易資料的 API 互動的方式。您可以在相同的參數檔中使用多個 TRANLOGOPTIONS 敘述句,或者在相同的 TRANLOGOPTIONS 敘述句中指定多個選項 (如果允許這些選項使用)。

僅針對資料庫或資料庫使用指定的 TRANLOGOPTIONS 選項。

預設

無

語法

TRANLOGOPTIONS {[ALLOW_BINLOG_ROW_METADATA_MINIMAL]
[ALLOWTABLECOMPRESSION][ALTLOGDEST <path> | REMOTE]
[ALWAYSONREADONLYROUTING]
[ASMUSERALIAS <alias> [DOMAIN <domain>]]
[ASYNCTRANSPROCESSING <buffer_size>]
[BUFSIZE <size>]
[CHECKPOINTRETENTIONTIME <days>][DB2APIRETRY <retry_count>]
[DB2ZV11COMPATIBILITYMODE]
[DICTIONARY_CACHE_SIZE <value>]
[DLFAILOVER_TIMEOUT <seconds>]
[DISABLESOFTEOFDELAY]
[EXCLUDEFILTERTABLE <table>]
[EXCLUDETAG {<tag> | + | NULL}]
[EXCLUDETRANS <transaction>]
[EXCLUDEUSER <user>]
[EXCLUDEUSERID <Oracle_uid>][FAILOVERTARGETDESTID <n>][FETCHPARTIALJSON]
[FETCHPARTIALLOB][FETCHPARTIALXML]
[FORCEFETCHLOB]
[GETCTASDML | NOGETCTASDML][HANDLEDLFAILOVER [STANDBY_WARNING | STANDBY_ABEND]]
[IFILOCKSECONDS]
[IGNOREDATACAPTURECHANGES | NOIGNOREDATACAPTURECHANGES]
[INCLUDEAUX (<AUX_specification>)]
[INCLUDEREGIONID | INCLUDEREGIONIDWITHOFFSET]
[INTEGRATEDPARAMS]
[INCLUDETAG <tag>]
[ENABLE_PROCEDURAL_REPLICATION Y]
[ENABLE_AUTO_CAPTURE | DISABLE_AUTO_CAPTURE]
[LOB_CHUNK_SIZE <size>]
[MAXAUTOCMTTRANSSIZE (<range>, <default>)]
[LOGREADTIMEOUT <value>]
[MININGUSERIDALIAS <alias> [DOMAIN <domain>]][MIXEDENDIAN [ON|OFF]]
[MANAGECDCCLEANUP | NOMANAGECDCCLEANUP ]
[MANAGESECONDARYTRUNCATIONPOINT | NOMANAGESECONDARYTRUNCATIONPOINT ]
[PERFORMANCEPROFILE HIGH|MEDIUM|LOW_RES|LOW_WORKLOAD][QUERYTIMEOUT <seconds>]
[QUERYRETRYCOUNT <seconds>]
[READQUEUESIZE <size>]
[READTIMEOUT <milliseconds>]
[REDO_TRANSPORT_LAG_THRESHOLD <seconds>]
[REDO_TRANSPORT_LAG_TIMEOUT <value>]
[REMOTESCHEMA <value>]
[REQUIRELONGDATACAPTURECHANGES | NOREQUIRELONGDATACAPTURECHANGES]
[SOURCE_OS_TIMEZONE <timezone>]
[SKIPUNKNOWNEVENT]  [STREAMINGOPTIONS (publication_names=<pub_name1>, <pub_name2>, <pub_name3>)
[SUPPRESSNOOOPUPDATES]
[TRACKSCHEMACHANGES | NOTRACKSCHEMACHANGES]
[TRANCOUNT <integer>]
[TSLOOKUPBEGINLRI | TSLOOKUPENDLRI]
[VALIDATEINLINESFLOB]
[USE_ROOT_CONTAINER_TIMEZONE]
[USENATIVEOBJSUPPORT | NOUSENATIVEOBJSUPPORT]
[VERSIONCHECK DYNAMIC | IMMEDIATE][WARNCREATEASSELECT]
}

[ALLOW_BINLOG_ROW_METADATA_MINIMAL]

適用於 MySQL

在擷取參數檔中使用 ALLOW_BINLOG_ROW_METADATA_MINIMAL,以繼續使用 MySQL Server 變數 BINLOG_ROW_METADATA 設為 MINIMAL。

MySQL Server BINLOG_ROW_METADATA 變數不支援 TRACKSCHEMACHANGES 和 DDL 複製等功能。若要使用這些功能,請將 BINLOG_ROW_METADATA 設為 MySQL 伺服器組態檔內的 Full。如果不需要這些功能,請繼續使用 MINIMAL 與 ALLOW_BINLOG_ROW_METADATA_MINIMAL 參數。

ALWAYSONREADONLYROUTING

適用於 SQL Server

ALWAYSONREADONLYROUTING 參數允許 Extract for SQL Server 在連線至 Always On 可用性群組監聽器時,將其唯讀處理遞送至可用的唯讀次要。

ALTLOGDEST <path | REMOTE>

適用於 MySQL。

指定 MySQL 日誌索引檔案的位置。Extract 會尋找此位置中的日誌檔,而非資料庫預設位置。當資料庫組態未包含日誌的完整路徑名稱,或機器上有多個 MySQL 安裝時,可以使用 ALTLOGDEST。Extract 會讀取日誌索引檔,以尋找需要讀取的二進位日誌檔。使用 ALTLOGDEST 時,Extract 會假設日誌和索引位於相同的位置。

提供目錄的完整路徑名稱。

在 Windows 上,如果路徑包含任何空格,請以雙引號括住路徑,如以下範例所示。

TRANLOGOPTIONS ALTLOGDEST "C:\Program Files\MySQL\MySQL Server
5.7\log\binlog.index"

在 Linux 系統上:

TRANLOGOPTIONS ALTLOGDEST "/mnt/rdbms/mysql/data/logs/binlog.index"

針對遠端 MySQL 資料庫進行擷取時,請使用 REMOTE 選項,而非索引檔案路徑。此外,如果未指定 ALTLOGDEST,則系統會假設選項為 REMOTE。

從遠端擷取,在 Extract 參數檔中指定下列項目。

TRANLOGOPTIONS ALTLOGDEST REMOTE

如需有關使用 REMOTE 選項的詳細資訊,請參閱設定記錄特性。

ASYNCTRANSPROCESSING <buffer_size>

適用於 Oracle 整合式擷取模式的 Extract。

控制整合式擷取是以非同步或同步處理模式執行,以及控制 Extract 處於非同步模式時的緩衝區大小。最小值為 1,最大值為 1024;預設值為 300。

ASYNCTRANSPROCESSING <buffer_size>

在非同步 <transaction> 處理模式中,有兩個控制執行緒:

交易緩衝區是這兩個執行緒之間的緩衝區,用於將工作從一個執行緒移轉至另一個執行緒。預設交易緩衝區大小為 300 個已確認的交易,但如果 Oracle GoldenGate 記憶體管理程式的快取記憶體接近耗盡,則會由其向下調整。

NOASYNCTRANSPROCESSING

停用非同步處理,讓 Extract 以同步模式運作。在此模式中,一個執行緒會執行所有擷取工作。

BUFSIZE <size>

適用於 Db2 LUW 及 Db2 z/OS。適用於 Oracle GoldenGate 19c 和更新版本的 Db2 for i。適用於 Oracle AI 資料庫 (Oracle GoldenGate 21c 及更新版本)。

控制配置用來包含從異動日誌讀取之資料的緩衝區大小上限 (位元組)。

高值可提高擷取速度,但會讓 Extract 消耗更多記憶體。值較低可減少記憶體使用量,但是會增加 I/O,因為 Extract 必須將超過快取大小的資料儲存到磁碟。

對於 Oracle AI Database,DDL 作業記錄大小受 Oracle GoldenGate 內部記錄擷取緩衝區大小的限制。DDL 的大小上限為 Oracle RDBMS 的大小限制。雖然 Oracle 資料庫 21c 允許建立大於 10MB 的 DDL,但內部記錄擷取緩衝區大小上限限制為 10MB。

<default> 緩衝區 <size> 是由重做資料的來源所決定。下列是有效的範圍和 <default> 大小 (位元組):

Db2 LUW:

i 的 Db2 z/OS 和 Db2:

CHECKPOINTRETENTIONTIME <days>

僅適用於 Oracle 整合模式的 Extract。

控制 Extract 在永久清除檢查點之前保留檢查點的天數。可以使用小數值指定部分天數。例如,8.25 指定 8 天與 6 小時。整個清除整合式擷取模式中 Extract 的檢查點時,會整個清除與檢查點對應之存檔重做日誌檔的 LogMiner 資料說明資訊,並將擷取處理作業的 first_scn 值重設為與下一個存檔重做日誌檔中第一個變更對應的 SCN 值。預設值為 7 天,最小值為 0.00001。

重試的 DB2APIRETRY <number>

如果 Extract 從讀取 API db2ReadLog(), 的 Db2 日誌收到錯誤,則針對某些錯誤,會重試 API 呼叫。您可以使用 DB2APIRETRY 來變更重試次數。預設的重試次數設為 3。重試 API 的 SQL 程式碼為 SQLCODE -30108。

DB2ZV11COMPATIBILITYMODE

適用於 Db2 z/OS 的 Extract。

在某些相容性模式中使用 Oracle GoldenGate 從 Db2 z/OS 版本 11 擷取時,「擷取」處理作業可能無法以程式設計方式判斷實際的資料庫版本,並且發生 OGG-00551 或 OGG-00804 錯誤。在 Extract 參數檔中使用此選項,可手動設定所需的資料庫版本。

DICTIONARY_CACHE_SIZE <value>

使用此選項可從 Extract 調整字典快取大小。預設值為 5000。如果 PERFORMANCEPROFILE 設為 HIGH,則預設值為 10000。

DLFAILOVER_TIMEOUT <seconds>

適用於 Oracle 整合模式的 Extract。

提供可設定的逾時 (秒),以允許待命資料庫復原後續角色轉換。它與 HANDLEDLFAILOVER 搭配使用,可讓「整合式擷取」在角色轉換後立即啟動。逾時期間結束時,如果待命資料庫仍然無法使用,則 Extract 將終止。

預設為 300 秒。您也可以使用毫秒或毫秒。

DISABLESOFTEOFDELAY

僅適用於 Oracle 與 Db2 LUW 整合模式的 Extract。

在 Extract 參數檔中使用 DISABLESOFTEOFDELAY,以設定當 EOF 狀態報告時,等待時間不會傳回任何記錄時生效。

ENABLE_AUTO_CAPTURE DISABLE_AUTO_CAPTURE

設定此選項可啟用 auto_capture 模式,此模式會傳遞啟用自動擷取之表格的 LCR。來源資料庫的 Oracle 二進位版本為 21c 或更新的版本時,可以設定此選項。

EXCLUDETAG {<tag> | + | NULL}]

適用於 Extract。(僅限 Oracle)

EXCLUDETAG 可用來排除先前由 Replicat 使用 DBOPTIONS SET TAG 選項標記的變更,或使用 DBMS_XSTREAM_ADM.SET_TAG 程序在 Oracle AI Database 階段作業內所標記的變更。

使用 EXCLUDETAG tag> 指示 Extract 處理作業忽略以指定重做標記標記標記的個別記錄。

使用 EXCLUDETAG NULL 可排除所有未標記的作業。這是 EXCLUDETAG + 的相對值。

使用 EXCLUDETAG + 指示 Extract 處理作業忽略標記為任何重做標記的個別記錄。

範例

以下範例說明如何在 EXCLUDETAG 使用標記指定元。

排除所有標記的變更:

TRANLOGOPTIONS EXCLUDETAG +

若要排除特定標記的變更,請執行下列動作:

TRANLOGOPTIONS EXCLUDETAG 00
TRANLOGOPTIONS EXCLUDETAG 0952

使用 EXCLUDETAG 和 INCLUDETAG 參數時的準則

將 EXCLUDETAG 和 INCLUDETAG 參數與 TRANLOGOPTIONS 和 DDLOPTIONS 命令搭配使用時,請考慮下列事項:

EXCLUDETRANS <transaction>

適用於 Oracle 的整合式擷取。

指定 Replicat 資料庫使用者或任何其他使用者的異動名稱,讓 Extract 不會擷取這些異動。用於雙向處理,以防止資料庫之間的資料循環。

如需雙向同步的詳細資訊,請參閱 Oracle GoldenGate Microservices Documentation 中的 Configuring Bidirectional Replication 。

EXCLUDEUSER <user>

適用於 Db2 LUW、Db2 代表 z/OS、Db2 代表 i、Oracle 及 Sybase。

指定 Replicat 資料庫使用者或任何其他使用者的名稱,以作為篩選。通常,此選項是用來識別雙向或連鎖處理組態中的 Replicat 交易,以排除或擷取這些交易。不過,它可以用來識別任何其他使用者 (例如特定商業應用程式的交易) 的交易。

您可以在相同的參數檔中使用 EXCLUDEUSER 和 EXCLUDEUSERID。請勿在任一參數中使用萬用字元。

使用者名稱必須有效。Oracle GoldenGate 會查詢資料庫以取得關聯的使用者 ID,並將數值 ID 對應回使用者名稱。因此,如果在名稱解析設為預設值 DYNAMICRESOLUTION 時,刪除並重新建立指定的使用者,則 EXCLUDEUSER 會維持有效。如果在名稱解析設為 NODYNAMICRESOLUTION 時執行相同的交易,EXCLUDEUSER 就會變成無效,而 Extract 必須停止,然後啟動以使 EXCLUDEUSER 生效,請參閱 DYNAMICRESOLUTION \| NODYNAMICRESOLUTION 。

範例

下列 Oracle 範例會篩選兩個使用者 (一個按名稱篩選,一個按使用者 ID 篩選)。這些使用者產生的交易將使用篩選標記處理,並指定新的交易緩衝區大小。

TRANLOGOPTIONS EXCLUDEUSER ggsrep, EXCLUDEUSERID 90, BUFSIZE 100000

若要將 EXCLUDEUSER 與多租用戶搭配使用,您必須指定 PDB.USERNAME。下列範例排除 PDBXYZ.SCOTT 所做的任何 DML 作業:

TRANLOGOPTIONS EXCLUDEUSER PDBXYZ.SCOTT

EXCLUDEUSERID <Database_uid>

適用於 Oracle 的 Extract。

指定 Replicat 資料庫使用者 (或任何其他使用者) 的資料庫使用者 ID (uid) 作為篩選。此參數對多租用戶 Extract 無效。請改用標記功能和 EXCLUDETAG。

用法與 EXCLUDEUSER 的用法相同。

<Oracle_uid> 為非負值的整數,最大值為 2147483638。有數個系統檢視可以查詢以取得使用者 ID。最簡單的是 ALL_USERS 檢視。Oracle GoldenGate 不會驗證使用者 ID。如果刪除並重新建立與指定使用者 ID 關聯的使用者,則會指派新的使用者 ID;因此,該使用者的 EXCLUDEUSERID 會變成無效。

FAILOVERTARGETDESTID <n>

適用於 Extract for Oracle。

在 Oracle Data Guard 組態中使用 Oracle GoldenGate Extract 處理作業時,GoldenGate Extract 處理作業必須保留在已套用至 Oracle Data Guard 待命資料庫的重做之後。FAILOVERTARGETDESTID 參數可用來識別指向待命資料庫的 LOG_ARCHIVE_DEST_n 初始化參數,亦即 Extract 必須留在後面的容錯移轉目標。此參數與 HANDLEDLFAILOVER 結合使用,以控制 Extract 是否會根據 Oracle Data Guard 待命資料庫的套用進度來調節其寫入歷程檔資料。請注意,如果資料保全組態已啟用「快速啟動容錯移轉 (FSFO)」,則不需要 FAILOVERTARGETDESTID。最小值為 0,最大值為 32 且預設為 0。

範例

若要決定 TRANLOGOPTIONS FAILOVERTARGETDESTID Extract 參數的適當值,請連線至 Extract 正在從中擷取資料的資料庫,然後發出下列命令。

SQL> show parameters log_archive_dest
        NAME TYPE VALUE
        -----------------------------------------------------------------------------
         log_archive_dest_1 string location=USE_DB_RECOVERY_FILE_DEST,
         valid_for=(ALL_LOGFILES, ALL_ROLES)

         log_archive_dest_2 string service="ggs2d",
         ASYNC NOAFFIRM delay=0 optional compression =disable max_failure=0
         max_connections=1 reopen=300 db_unique_name="GGS2D" net_timeout=30,
         valid_for=(online_logfile,all_roles)

Extract 參數 TRANLOGOPTIONS FAILOVERTARGETDESTID 將會設為 2,因為這是待命資料庫 Oracle GoldenGate 應該落後。第一個項目 (log_archive_dest_1) 適用於該資料庫的本機存檔日誌,第二個項目則適用於待命資料庫。

這會設為 2,因為待命資料庫 Oracle GoldenGate 應維持在最新狀態。第一個項目 (log_archive_dest_1) 適用於該資料庫的本機存檔日誌,第二個項目則適用於待命資料庫。

FETCHPARTIALJSON

適用於 MySQL 的 Extract

如果對表格的 JSON 資料類型資料欄進行部分更新,請在 Extract 參數檔中使用此選項直接從表格擷取資料。注意:處理 JSON 資料欄資料更新視 MySQL 伺服器變數 binlog_row_value_options 的值而定,其值必須設為 PARTIAL_JSON,且 Extract 參數檔包含 FETCHPARTIALJSON 參數。

FETCHPARTIALLOB

適用於 Oracle 整合式擷取模式的 Extract。

當複製至異質目標或需要完整 LOB 影像的其他條件時,請使用此選項。它會讓 Extract 擷取完整的 LOB 物件,而不是使用重做記錄的局部變更物件。依照預設,資料庫日誌探勘伺服器會傳送整個或部分 LOB,視來源 LOB 的所有或部分是否已更新而定。若要確保 LOB 的快照正確,必須為表格啟用 Oracle Flashback 功能,且 Extract 必須設定為使用。Extract FETCHOPTIONS 參數控制擷取,且必須設為 USESNAPSHOT (沒有 NOUSESNAPSHOT 的預設值)。如果沒有「倒溯」快照,「擷取」會從表格擷取 LOB,這可能是與產生重做記錄時的時間點不同的影像。

FETCHPARTIALXML

適用於整合式擷取模式 Oracle 的 Extract。

當複製至異質目標或需要完整 LOB 影像的其他條件時,請使用此選項。它會讓 Extract 擷取完整的 XML 文件,而不是使用重做記錄的部分變更影像。依照預設,資料庫日誌探勘伺服器會傳送完整或部分的 XML 文件,視來源 XML 的所有或部分是否已更新而定。若要確保 XML 的快照正確,必須為表格啟用 Oracle Flashback 功能,且 Extract 必須設定為使用。Extract FETCHOPTIONS 參數控制擷取,且必須設為 USESNAPSHOT (沒有 NOUSESNAPSHOT 的預設值)。如果沒有「倒溯」快照,「擷取」會從表格擷取 XML 文件,這可能是與產生重做記錄時的時間點不同的影像。

EXCLUDEFILTERTABLE <table>

適用於 MySQL、PostgreSQL 及 SQL 伺服器的 Extract。

使用此選項來識別要篩選的來源交易。如果來源交易包含指定 EXCLUDEFILTERTABLE 的任何作業,則會將該交易識別為複製的交易。交易篩選是以標記為基礎。

Replicat 使用檢查點表格時,會在套用之每個交易的結束時,在檢查點表格中寫入復原記錄。假設 Replicat 套用的所有交易都包含檢查點表格的更新,Extract 會忽略 Replicat 所套用的整個交易,以防止資料循環。對於 PostgreSQL 和 SQL 伺服器,請確定已為檢查點表格新增 TRANDATA。

如果在雙向複製中使用平行 Replicat,則使用 TRANLOGOPTIONS EXCLUDEFILTERTABLE 選項支援多個篩選表格。多個篩選表格允許使用不同的表格名稱或萬用字元多次指定 TRANLOGOPTIONS EXCLUDEFILTERTABLE。

您可以在 Extract 參數檔中包括單一或多個 TRANLOGOPTIONS EXCLUDEFILTERTABLE 項目。在下列範例中,Extract 參數檔中包含多個具有明確物件名稱與萬用字元的 TRANLOGOPTIONS EXCLUDEFILTERTABLE 項目。

TRANLOGOPTIONS EXCLUDEFILTERTABLE ggs.chkpt2
TRANLOGOPTIONS EXCLUDEFILTERTABLE ggs.chkpt_RABC_*

如需有關建立檢查點表格的資訊,請參閱新增主要擷取。若要正確指定物件名稱和萬用字元,請參閱 Oracle GoldenGate Microservices Documentation 中的在命令引數中使用萬用字元。

FORCEFETCHLOB

適用於 Extract for Oracle。

覆寫從重做日誌擷取 LOB 資料的預設行為。預設會從資料庫擷取 LOB。

注意:如果在擷取之前刪除某個值,Extract 就會將空值寫入歷程檔。如果值在擷取之前更新,則 Extract 會寫入更新的值。為了避免這些錯誤,請嘗試降低 Extract 延遲。Oracle GoldenGate 文件提供調整處理作業效能的準則。另請參閱從表格擷取與 DDL 擷取之間的互動,以取得設定擷取選項的相關指示。

GETCTASDML | NOGETCTASDML

啟用「建立表格為選取 (CTAS)」功能。啟用 GETCTASDML 時,CTAS DML 會從 LogMiner 傳送,並在目標上複製。此選項預設為啟用。目標上會抑制執行 CTAS DDL。

HANDLEDLFAILOVER [ STANDBY_WARNING <value> | STANDBY_ABEND <value>]

適用於 Oracle 的 Extract

STANDBY_WARNING 和 STANDBY_ABEND 對 Oracle Database 21c 和更新版本有效。

控制 Extract 是否會根據「快速啟動容錯移轉」待命資料庫的套用進度,調節其寫入歷程檔資料。目的在於讓 Extract 在任何資料遺失容錯移轉後保持安全。

在不使用快速啟動容錯移轉 (FSFO) 的「資料保全」組態中使用此功能來遺失資料時,您必須設定 FAILOVERTARGETDESTID Extract 參數,以識別可連線至待命資料庫的存檔日誌目的地 ID。

當 Extract 查詢待命資料庫套用 SCN 資訊 (SELECT applied_scn FROM v$archive_dest where dest_id=n) 且此 SCN 小於 Extract 處理 LCR SCN 時,發現 Extract 處於停滯狀態。在此情況下,Extract 將不會處理 LCR 並等到 applied_scn 大於或等於 Extract 處理 LCR SCN。

STANDBY_WARNING <value>

將警告訊息寫入至 Extract 報表檔案前的時間 (如果 Extract 已停滯)。預設值為 60 秒。

STANDBY_ABEND <value>

Extract 停滯之前的時間長度。預設為 30 分鐘。

如果同時指定 STANDBY_WARNING 和 STANDBY_ABEND,則 STANDBY_ABEND 一律應大於 STANDBY_WARNING。

IFILOCKSECONDS <seconds>

適用於 Db2 z/OS

設定 Extract 透過呼叫 IFCID 保留資料庫中隱含鎖定的 <seconds> 間隔

  1. 鎖定會影響執行特定資料庫作業 (例如 REORGS) 的能力。預設值為 20 秒,最小值和最大值分別為 1 秒和 300 秒。注意:如果設定 IFILOCKSECONDS 參數的持續時間較長,則其他資料庫作業 (例如 REORGS) 可能會受到 Extract IFI 呼叫所造成的內部鎖定影響。因此,如果發生任何與 Extract 相關的鎖定競爭,請將作業的鎖定逾時設為超過 IFILOCKSECONDS 參數值的持續時間,或關閉 Extract。
IGNOREDATACAPTURECHANGES NOIGNOREDATACAPTURECHANGES

適用於 Db2 LUW

控制 Extract 是否擷取未設定 DATA CAPTURE CHANGES 的表格。IGNOREDATACAPTURECHANGES 會忽略未設定 DATA CAPTURE CHANGES 的表格。使用萬用字元指定表格時,請使用此選項,以確保已設定變更擷取的表格會繼續處理。系統會在略過之表格的錯誤日誌中發出警告。預設值為 NOIGNOREDATACAPTURECHANGES。

INCLUDEREGIONID INCLUDEREGIONIDWITHOFFSET

適用於 Oracle 的 Extract。

這些選項支援指定為 TZR 的 Oracle 資料類型 TIMESTAMP WITH TIME ZONE (代表時區區域,例如 US/Pacific)。依照預設,如果 Extract 包含時區區域,則會在 TIMESTAMP WITH TIME ZONE 中止。這些選項可讓您根據目標資料庫類型來處理此時戳。

當 Extract 偵測到來源資料類型為 TIMESTAMP 且有區域 ID 對應記號時,Replicat 會套用時戳,如下所示:

INCLUDEREGIONID

適用於 Oracle 的整合式擷取。

Oracle GoldenGate 19c (19.1.0) 已不再使用 INCLUDEREGIONID。從 Oracle GoldenGate 19c (19.1.0) 開始,預設會包含區域 ID 資料的 TIMESTAMP WITH TIME ZONE,包括初始載入。

從 Oracle 來源複寫至相同版本或更新版本的 Oracle 目標時使用。指定 INCLUDEREGIONID 時,Extract 會新增一個資料欄索引和兩個位元組的 TMZ 值作為時區對應記號,並以 YYYY-MM-DD HH:MI.SS.FFFFFF +00:00 的 UTC 格式輸出至歷程檔。

INCLUDEREGIONIDWITHOFFSET

適用於 Oracle 的整合式擷取。

使用此選項可將區域 ID 轉換為小時和分鐘偏移值 (+06:00 例如)。如果未指定此選項,則時戳一律會以 UTC 寫入歷程檔,且時區一律為 +00:00。

如果您需要保留時區值 (以小時與分鐘為單位) 而不是 UTC,則可以使用此選項。

在下列情況下,會強制開啟選項,以每小時和分鐘 <offset> 來保留 TIMEZONE <value>:

INCLUDETAG {<tag>| +}

適用於 Extract。(僅限 Oracle)

使用 INCLUDETAG <tag> 可在歷程檔中包含特定標記的 DDL 作業。標記值最多可以有 2000 個十六進位數字 (0-9 A-F)。

為了避免衝突,請勿將 INCLUDETAG 與 EXCLUDETAG 搭配使用。

範例:tranlogoptions includetag 00

LOB_CHUNK_SIZE

適用於 SQL Server,PostgreSQL。

如果您有龐大的 LOB 資料大小,則可以將 LOB_CHUNK_SIZE 從預設值 4000 個位元組調整為較高的值 (最多 65535 個位元組),以增加擷取大小,減少擷取整個 LOB 所需的行程

範例:TRANLOGOPTIONS LOB_CHUNK_SIZE 8000

(PostgreSQL) 指定將用於在 COM 中發送之 LOB (CLOB/BLOB) 資料的區塊大小。其單位為位元組。最小值和最大值 lob_chunk_size 值介於 4000 到 65535 個位元組之間。

LOGREADTIMEOUT

適用於 PostgreSQL 版本 12 和更新版本的 Extract。

啟用或停用 WAL 寄件者處理的 wal_sender_timeout 選項。

value 選項只能是整數值,預設值為 60000 毫秒。最大值為 2147483647 毫秒,最小值為 0 毫秒。

INTEGRATEDPARAMS (<parametervalue> [, ...])

適用於 Oracle Standard 或 Enterprise Edition 12c 或更新版本的整合式擷取模式 Extract。

Extract 處於整合式擷取模式時,會將參數和值傳送至 Oracle AI Database 日誌探勘伺服器。輸入必須為 <parameter value> 格式,如下所示:

TRANLOGOPTIONS INTEGRATEDPARAMS (downsream_real_time_mine Y)

有效的參數規格及其值如下:

max_sga_size

指定資料庫日誌探勘伺服器所使用的 SGA 記憶體大小。可以是正整數 (MB)。如果 streams_pool_size 大於 1 GB,則預設值為 1 GB;否則,預設值為 streams_pool_size 的 75%。

parallelism

指定支援資料庫日誌探勘伺服器的處理作業數目。可以是正整數。預設值為 2。

downstream_real_time_mine

指定是否以即時模式對下游探勘資料庫進行整合擷取。值 Y 會指定即時擷取,而且需要在順流探勘資料庫設定待命重做日誌。值 N 會指定從傳送至下游探勘資料庫的存檔日誌擷取。預設值為 N。

enable_procedural_replication

在擷取時啟用程序複製。程序複製預設為停用。值 Y 可啟用程序複製。針對 Extract 開啟此選項後,會保持開啟狀態。參數值無法切換回。

MANAGESECONDARYTRUNCATIONPOINT NOMANAGESECONDARYTRUNCATIONPOINT

適用於 PostgreSQL。

MANAGESECONDARYTRUNCATIONPOINT 是預設設定,可控制特定 Extract 之複製槽位的 restart_lsn。

NOMANAGESECONDARYTRUNCATIONPOINT 不會移動 Extract 的複製插槽,且通常僅用於開發和測試用途,其中 Extract 需要從 Extract 的復原 LSN 重新定位至較早的 LSN。如果使用,PostgreSQL 預寫日誌會繼續增加並使用磁碟空間。

MAXAUTOCMTTRANSSIZE (<range>, <default>)

僅適用於 DB2

提供自動確認交易大小上限的範圍。

i 自動確認記錄的 Db2 (日記帳分錄的 CCID 等於 0) 在日記帳中沒有確認記錄,因此 Oracle GoldenGate 必須建立隱含交易,才能在歷程檔中包含這些記錄。預設允許將單一記錄包含在單一交易中,因為 IO 時間是以交易的確認為基礎,所以可維持每筆記錄所指示 IO 時間的準確性。

此參數會設定要包含在隱含建立交易中的最大記錄數,但如果在達到最大值之前在日記帳中看到任何其他類型的分錄,則數字可能較少。此回應可避免與屬於明確確認記錄之記錄上的檢查點重疊的問題。

將此參數的值設為 1 (預設值) 會針對已自動確認 (在日記帳分錄中為 CCID 為 0) 的記錄,針對歷程檔中的每筆記錄提供準確的 IO 時間,並可能產生 Extract 傳輸量的費用。此參數的值也會影響記憶體中這些記錄之快取交易的最大潛在大小。如果 Extract 能夠儲存每個隱含交易的最大項目數,則將它設為較低的值會導致交易記憶體較低。根據定義,記憶體中在任何指定的時間內都只能有一個這類隱含交易,因為任何其他交易記錄都會立即確認記憶體中隱含交易中任何記錄的歷程檔。

預設範圍介於 1-10000 之間,預設值為 1。

MININGUSER {/ | <useridalias> [<algorithm> ENCRYPTKEY {<key_name> | DEFAULT}] [SYSDBA]]

適用於 Oracle 的 Oracle GoldenGate Extract。

指定 Extract 登入順流 Oracle 探勘資料庫以與日誌探勘伺服器互動的登入證明資料。如果未使用 Oracle GoldenGate 證明資料存放區,則可改用 MININGUSERIDALIAS 選項。

此使用者必須:

/

指示 Oracle GoldenGate 使用 Oracle 的作業系統登入,而非資料庫使用者登入。請只有當資料庫允許在作業系統層級進行認證時,才使用此引數。如果經常變更應用程式密碼,略過資料庫層次認證就不需要更新 Oracle GoldenGate 參數檔。

若要使用此選項,相對於 Oracle OS_AUTHENT_PREFIX 初始化參數的值,資料庫中必須要有相符的使用者名稱。使用 OS_AUTHENT_PREFIX 設定的值會串連至使用者作業系統帳戶名稱的開頭,然後與資料庫名稱進行比較。這兩個名稱必須相符。

當 OS_AUTHENT_PREFIX 設為 ' ' (空值字串) 時,必須使用 IDENTIFIED EXTERNALLY 建立使用者名稱。例如,如果 OS 使用者名稱為 ogg,您可以使用下列項目來建立資料庫使用者:

CREATE USER ogg IDENTIFIED EXTERNALLY;

當 OS_AUTHENT_PREFIX 設為 OPS$ 或其他字串時,必須以下列格式建立 <user> 名稱:

<OS_AUTHENT_PREFIX_value><OS_user_name>

例如,如果 OS <user> 名稱為 ogg,您可以使用下列項目來建立資料庫 <user>:

CREATE USER ops$ogg IDENTIFIED BY oggpassword;

<user>

指定探勘資料庫使用者或 SQL*Net 連線字串的名稱。

<password>

使用者的密碼。當資料庫認證需要以資料庫使用者身分指定密碼時使用。如果密碼是以 ENCRYPT PASSWORD 命令的方式加密,請提供加密的密碼;否則,請使用純文字密碼。如果密碼有區分大小寫,請依大小寫輸入密碼。如果使用者 ID 或密碼變更,則必須在 Oracle GoldenGate 參數檔中進行變更,包括視需要重新加密密碼。

<algorithm>

指定使用 ENCRYPT PASSWORD 加密 <password> 時所使用的加密 <algorithm>。可為下列其中之一:

AES128
AES192
AES256

ENCRYPTKEY {<key_name> | DEFAULT}

指定使用 ENCRYPT PASSWORD 指定的加密金鑰。

SYSDBA

指定使用者以 sysdba 身分登入。

MININGUSERIDALIAS <alias>

適用於 Extract for Oracle。

指定 Extract 用於登入順流 Oracle 探勘資料庫以與日誌探勘伺服器互動之登入證明資料的別名。如果使用 Oracle GoldenGate 證明資料存放區,則可改用 MININGUSER。

此別名必須為:

Extract 處於整合式擷取模式時,不能變更此別名和使用者。

MIXEDENDIAN [ON OFF]

適用於 Db2 LUW 與 Oracle GoldenGate 主要 Extract

Oracle GoldenGate Extract for Db2 LUW 支援跨端擷取,其中資料庫和 Oracle GoldenGate 在不同的位元組順序伺服器上執行。自動偵測 Db2 LUW 資料庫版本 10.5 和更新版本的位元組順序。如果您需要停用 Db2 LUW 10.5 的自動偵測,您可以指定此參數來覆寫它。對於版本 10.1,參數必須用於跨端擷取的 Extract 參數檔中。依預設,版本 10.1 的值會設為 OFF。

語法:

TRANLOGOPTIONS MIXEDENDIAN [ON|OFF]

ON:如果設定此選項,則 Extract 會假設資料庫和 Oracle GoldenGate 在具有不同位元組順序的伺服器上執行,並執行必要的位元組反轉轉換。

OFF:如果設定此選項,則 Extract 會假設資料庫和 Oracle GoldenGate 在具有相同位元組順序的伺服器上執行,且不會執行位元組順序反向轉換。

MANAGECDCCLEANUP NOMANAGECDCCLENUP

適用於 SQL Server。

MANAGECDCCLEANUP 是預設和建議的設定,會指示 Extract 根據 Oracle GoldenGate 的架構和版本,驗證「Oracle GoldenGate CDC 清除」工作或「整個清除變更資料」工作是否存在。

對於所有 Oracle GoldenGate Classic Architecture 版本以及 Oracle GoldenGate 21.4 之前的 Microservices 版本,請使用 ogg_cdc_cleanup_setup.bat/sh 程式來安裝 Oracle GoldenGate CDC Cleanup 工作以及關聯的表格和預存程序。

對於 Oracle GoldenGate Microservices 21.4 和更新版本的安裝,請從 WebUI 之「管理服務」的「組態」段落,從「工作」頁面建立「永久清除變更資料」工作。「永久清除變更資料」工作會建立必要的預存程序和關聯的表格,並處理 Oracle GoldenGate 中的永久清除功能,而不是透過「SQL 伺服器代理程式」工作。

NOMANAGECDCCLEANUP 選項會指示 Extract 不檢查「Oracle GoldenGate CDC 清除」工作或「整個清除變更資料」工作是否存在。這不是生產環境的建議選項,但可以在不建立 Oracle GoldenGate CDC 清除工作或工作的情況下,用於測試 Extract。

PERFORMANCEPROFILE HIGH MEDIUM LOW_RES LOW_WORKLOAD

適用於整合式擷取模式的擷取。

用於調整「整合式擷取」。

它可以設定為 HIGH、MEDIUM (預設值) 或 LOW_RES。它可以透過將影響效能的參數分組,協助達到更好的效能。設定效能設定檔之後,此選項會自動設定相關參數,以達到所需的傳輸量和延遲。

啟用低到中等強度工作負載的 HIGH 選項時,會將整合的 Extract 延遲激增至數秒。這是因為 HIGH 選項會將 Extract 的讀取緩衝區大小增加為 8MB。不過,排清擷取讀取緩衝區的規則是在緩衝區已滿或沒有內送記錄,持續時間為 0.2 秒時。因此,任何擷取擷取速率低於 8MB 的持續工作負載,整合式 Extract 延遲將超過 1 秒。請確定 Extract 擷取速率 (或擷取 100% 重做時的重做產生速率) 低於指定的值 (例如每秒 ~15 MB 取得 ~0.5 秒的擷取延遲) 時,請勿使用 HIGH 選項。如果需要次秒延遲,建議降低緩衝區的大小。例如,將緩衝區大小設為重做產生速率 (MB/ 秒) 的三分之一,以取得擷取延遲上限 ~0.3 秒。

QUERYTIMEOUT <seconds>

適用於 SQL Server。

指定查詢 SQL 伺服器在報告逾時錯誤訊息之前,將等待結果的時間長度。此選項會採用整數值來代表秒數。預設查詢逾時值為 300 秒 (5 分鐘)。最小值為 0 秒 (無限逾時)。最大值為 2147483645 秒。

下列範例指示 SQL 伺服器在逾時之前等待 60 秒取得結果。

TRANLOGOPTIONS QUERYTIMEOUT 60

QUERYRETRYCOUNT <seconds>

適用於 SQL 伺服器和 MySQL 的 Extract。

指定在結果集逾時時,重試對 Extract 所使用之 CDC 預存程序的呼叫次數。

您可以指定 QUERYRETRYCOUNT 來重試多次。如果所有重試嘗試都失敗,「擷取」就會異常中止,並顯示正常連線逾時錯誤訊息。

對於 SQL 伺服器,預設值為一次重試嘗試,之後處理 abends.The 的最小設定 (0) 為無限,最大值為 1000,預設值為 1。

對於 MySQL,最小值與預設設定為 50,最大值為 1000。沒有無限值。將 QUERYRETRYCOUNT 設為小於最小值的任何嘗試都會被忽略,且不會發生錯誤或警告。

下列範例會讓 Extract 嘗試其 CDC 預存程序呼叫 4 次:

TRANLOGOPTIONS QUERYRETRYCOUNT 4

下列範例會讓 Extract 嘗試其 CDC 預存程序呼叫 100 次:

TRANLOGOPTIONS QUERYRETRYCOUNT 100

READQUEUESIZE <size>

適用於 MySQL。

指定異動資料的內部佇列大小 (位元組)。可以增加以提升效能。有效值為 3 到 1500 的整數。預設值為 256 個位元組;從預設值開始,在向上調整之前先評估效能。

REDO_TRANSPORT_LAG_THRESHOLD <seconds>

適用於下游探勘模式的整合式擷取。

當重做日誌出貨時,監督來源資料庫與目標資料庫之間的網路延遲。如果延遲超過指定的臨界值,報表檔案中就會顯示警告,而當延遲降至正常層次時,就會顯示後續的資訊訊息。

預設臨界值為 30 秒。可指定的最小臨界值為 15 秒。

如需詳細資訊,請參閱下游擷取

REDO_TRANSPORT_LAG_TIMEOUT <value>

適用於下游探勘模式的整合式擷取。

在此參數選項中提供的輸入值是 Extract 將等待每個繫線重做的時間期間。如果所有繫線都已等待逾時 (秒),但尚未收到任何重做,則 Extract 將會中止。

REQUIRELONGDATACAPTURECHANGES NOREQUIRELONGDATACAPTURECHANGES

適用於 Db2 LUW。

控制 Extract 在 DATA CAPTURE 設為 NONE 或 CHANGES (不含 INCLUDE LONGVAR COLUMNS) 時的回應,參數檔包括下列任何需要存在部分或所有資料欄值之前影像的 Oracle GoldenGate 參數:GETBEFOREUPATES、NOCOMPRESSUPDATES 以及 NOCOMPRESSDELETES。這兩個 DATA CAPTURE 設定值都無法記錄 LONGVAR 資料欄之前的值。如果這些資料欄無法供 Extract 使用,則可能會影響目標資料的完整性。

REQUIRELONGDATACAPTURECHANGES

以錯誤解壓縮。

NOREQUIRELONGDATACAPTURECHANGES

擷取會發出警告,但繼續處理資料記錄。

REMOTESCHEMA <value>

適用於 Db2 z/OS Extract。

使用多個版本的 Oracle GoldenGate for Db2 z/OS Extract 時,您必須在不同綱要名稱下的 Db2 z/OS 內建立多個版本的 GoldenGate Extract 元件。REMOTESCHEMA 參數是用來指示 Extract 要使用的綱要。

如需詳細資料,請參閱 Oracle GoldenGate Microservices Documentation 中的 Install Extract Components on Db2 z/OS 。

SOURCE_OS_TIMEZONE <timezone>

適用於 Oracle 整合式擷取模式的 Extract。

指定來源資料庫的系統時區。資料庫的系統時區通常是由其作業系統的預設時區提供,也可以在資料庫啟動時設定 TZ 環境變數來覆寫。只有在來源資料庫與「擷取」處理程序使用不同的系統時區時,才應指定此選項。例如,在下游擷取部署中,來源資料庫和 Extract 處理作業會在不同時區的不同伺服器上執行。

您可以在時區區域名稱或 UTC 偏移格式中指定此選項的值,而且必須使用與來源資料庫相同的格式。例如,如果來源資料庫使用區域名稱格式 (例如 America/New_York),則您必須指定 America/New_York、US/Eastern 或 EST5EDT。或者,如果來源資料庫使用像 -05:00 的 UTC 偏移格式,則必須使用 (GMT)[+|-]hh[:mm] 語法。例如,GMT-05:00 或 -5。

SKIPUNKNOWNEVENT

適用於 MySQL。

您可以在 Extract 參數檔中使用此參數,以略過 MySQL 二進位日誌中任何未處理或不明的事件。如果指定此參數,Oracle GoldenGate for MySQL Extract 會繼續處理,而不會發生錯誤尋找目前 Extract 處理作業未處理的事件。

STREAMINGOPTIONS

適用於 PostgreSQL。

您可以使用此參數提供啟動複製時所需的參數。另請參閱 Oracle GoldenGate Microservices 文件中的註冊 Extract for PostgreSQL 。

舉例而言:

TRANLOGOPTIONS STREAMINGOPTIONS (publication_names="my*123,my_publication2, my_publication";)

SUPPRESSNOOOPUPDATES

適用於 Oracle AI Database 上的 Extract。

您可以控制是否要在整合式擷取中篩選 no-op 更新。預設值為不隱藏。

TRACKSCHEMACHANGES NOTRACKSCHEMACHANGES

適用於 Db2 z/OS 及 MySQL

對於 Oracle GoldenGate for Db2 z/OS,此參數可讓 Extract 擷取表格層次 DDL 敘述句,並在日誌記錄參照的表格版本比目前表格版本舊時,保留用來處理 DML 的變更歷史記錄。這通常是在更新影像之前,但是在影像之後,如果 Extract 在日誌存量 (Backlog) 的延遲狀況下執行,則插入或刪除。當 Extract 遇到適當的 DDL 作業時,會記下 DDL 的版本號碼,並以新資訊更新 DDL 歷史記錄表格。Extract 也會建立一個與歷程檔中的變更有關的新 TDR 記錄。當 Extract 在日誌中遇到舊版表格時,它會參照 DDL 歷史記錄,以便正確解譯舊版表格的 DDL。未實際複製 DDL 變更,且使用者仍需要在目標資料庫中手動執行對來源表格所做的任何變更。

當您輸入此命令時,它可讓 Extract 追蹤表格層次 DDL 變更,並視需要更新歷程檔描述資料。若要正確使用 TRACKSCHEMACHANGES,表格中繼資料必須處於已知的一致狀態,這表示必須先建立所有需要版本追蹤的表格,且在使用 TRACKSCHEMACHANGES 之前,請勿更改或重組,如此異動日誌中就不會顯示更新或刪除作業的先前表格版本。提供指令碼 ddl_update.sh 以協助建立資料庫的初始 DDL 歷史記錄集。

若要使用 DDL 處理,資料庫必須設定歷史記錄表格,以擷取資料庫系統上所有表格之各種版本的 DDL 變更。另外,也必須為資料擷取變更啟用系統表格。若要建立和維護歷史記錄表格,系統會提供下列 UNIX Shell 命令檔:

這些命令檔可用來使用 Db2 連線直接建立表格,或者可用來建立 SQL 檔案,這些檔案可以在選擇的 SQL 處理程式中執行。已檢查檔案與 Db2 遠端和 SPUFI 相容。

以下是這些命令檔接受的選項描述:

對於 Oracle GoldenGate for MySQL,支援擷取與傳遞 DDL 複製。啟用 DDL 複製時,Extract 會偵測來源資料庫表格中的 DDL 作業、處理 DDL 敘述句、重新整理表格描述資料,以及將 DDL 敘述句和描述資料寫入歷程檔。Replicat 會在 MySQL 目標資料庫上套用這些 DDL 作業,並從歷程檔中挑選新版本的描述資料,然後處理後續的 DML 作業。此整個程序無縫接軌且不涉及停機時間,但這僅適用於類似案例 (MySQL 至 MySQL)。

TRACKSCHEMACHANGES 參數可讓您在來源表格上擷取 DDL 之後的表格描述資料變更,讓擷取能夠處理後續的 DML 作業,而不會發生任何停止工作的情形。啟用 TRACKSCHEMACHANGES 時,擷取會將新的 TDR 記錄寫入包含每個 DDL 作業上新描述資料的歷程檔,後面接著對應的資料。Capture 不會處理並將 DDL 敘述句寫入歷程檔,因此不會實際將 DDL 變更複製到目標資料庫。必須在目標資料庫中手動執行與來源對應的任何 DDL 變更同步。使用此功能的優點在於,與 DDL 複製不同,TRACKSCHEMACHANGES 可用於跨資料庫複製案例,例如 MySQL 至 Db2 z/OS。

以下為使用 TRANLOGOPTIONS TRACKSCHEMACHANGES 命令時的注意事項:

TRANCOUNT

適用於 SQL Server。

允許調整 Extract 每次呼叫所處理的異動數目,以從 SQL 伺服器變更資料擷取暫存表格中提取資料。根據您的交易工作負載,調整此值可能會改善擷取速率傳輸量。最小值為 1,最大值為 100,預設值為 10。

範例:

TRANLOGOPTIONS TRANCOUNT 20

此範例指示 Extract 一次從啟用變更資料擷取的表格擷取 20 個交易。

[TSLOOKUPBEGINLRI TSLOOKUPENDLRI]

適用於 Db2 LUW v 10.1 和更新版本。

當您使用這些參數指定 LRI 範圍時,Extract 會尋找此範圍內 ADD 或 ALTER EXTRACT 命令中指定的時戳。這可協助 Extract 最佳化資料庫交易日誌中特定時戳的查詢處理作業。TSLOOKUPENDLRI 為選擇性時,TSLOOKUPBEGINLRI 參數為必要參數。僅指定不含 TSLOOKUPBEGINLRI 的 TSLOOKUPENDLRI 無效,導致 Extract 異常中止。舉例而言:

TRANLOGOPTIONS TSLOOKUPBEGINLRI 75200.666197, TSLOOKUPENDLRI  75207.666216
TRANLOGOPTIONS TSLOOKUPBEGINLRI 75200.666197

如果提供的時戳落在指定的 LRI 範圍之間,或提供的時戳落於 TSLOOKUPBEGINLRI LRI 時戳之後,則 Extract 會從時戳等於或最接近所提供時戳的記錄開始。

如果提供的時戳在 TSLOOKUPBEGINLRI LRI 時戳之前,則會從指定的 TSLOOKUPBEGINLRI LRI 啟動 Extract。如果提供的時間戳記落在 TSLOOKUPENDLRI 時間戳記之後,則 Extract 會中止。

USENATIVEOBJSUPPORT NOUSENATIVEOBJSUPPORT

適用於 Oracle 整合式擷取模式的 Extract。

整合式擷取會為使用者定義類型 (UDT) 和 ANYDATA 資料類型新增重做型擷取。預設會啟用此功能,而且只有在來源資料庫版本為 12.1.0.1 或更新版本,且來源資料庫相容性為 12.0.0.0 或更新版本時才能啟用。必須使用 Oracle GoldenGate 版本 12.1.2.1.0 中的 Replicat。若要使用原生支援,您的所有 Oracle AI Database 和 Oracle GoldenGate 執行個體必須為 12.1.0.1 或更新版本才能相容。

如果啟用重做式擷取,但 UDT 包含不支援的屬性,則「整合式擷取」會重試使用擷取來擷取 UDT。如需擷取支援的限制,請參閱 XML 資料類型。如果您使用 CREATE TABLE AS SELECT (CTAS) 陳述式建立物件表格,則必須將「整合式擷取」設定為從 CTAS 作業擷取 DML,才能完全支援物件表格。若為 CTAS,請參閱 Oracle GoldenGate Microservices Documentation 中的 Oracle GoldenGate 如何處理衍生的物件名稱

如果支援,預設值為 USENATIVEOBJSUPPORT。

在 Oracle Extract 參數檔中啟用 TRANLOGOPTIONS NOUSENATIVEOBJSUPPORT 參數,以擷取 UDT 資料作為歷程檔中的 XML 資料。接著,此資料可套用至任何接受 XML 資料 (例如 CLOB/TEXT/CHAR/VARCHAR 等) 的目標資料欄。

USE_ROOT_CONTAINER_TIMEZONE

僅適用於 Oracle 整合式 Extract。

此參數適用於 CDB 環境。CDB 中的每個 PDB 都可以使用不同的資料庫時區。如果資料庫時區可用,Extract 會嘗試從「整合式字典」取得 PDB 的時區。時區擷取需要探勘資料庫的修正程式。如果沒有修正程式,Extract 會傳送查詢至 PDB 來取得時區。如果無法使用資料庫修正程式或與 PDB 的連線,且已指定此參數,則 Extract 會假設 PDB 資料庫時區與 root 容器資料庫時區相同。

VERSIONCHECK DYNAMIC IMMEDIATE

這適用於 SQL Server。

若要讓 Extract 在啟動時驗證一般預存程序 (例如 OracleCDCExtract 和 OracleGGCreateProcs) 的 CDC 物件版本時,請使用此選項。

DYNAMIC (預設) 會在處理記錄時,識別每個表格中指定之表格的 CDC 物件版本一次。

IMMEDIATE 會事先識別 CDC 物件版本問題,而不是在處理記錄時。設定大量表格以進行擷取的資料庫需要較長的啟動驗證。

WARNCREATEASSELECT

適用於 Extract for MySQL。

不支援 DDL 作業 CREATE TABLE AS SELECT,Oracle GoldenGate Extract for MySQL 會在遇到此 DDL 時中止。Extract 第一次中止時發生錯誤如下:

DDL statement "CREATE TABLE AS SELECT" is detected for table <table-name> at binary log
number <binlog number> and offset <binlog offset>. The DDL operation "CREATE TABLE AS SELECT"
is not supported. Execute all 'CREATE TABLE AS SELECT' DDL operations manually to the target
database and start Extract by adding Extract parameter TRANLOGOPTIONS WARNCREATEASSELECT. Once
Extract gets past the 'CREATE TABLE AS SELECT' operation, restart Extract after disabling the
parameter TRANLOGOPTIONS WARNCREATEASSELECT.

當您在 Extract <parameter> 檔案中使用 TRANLOGOPTIONS WARNCREATEASSELECT 設定時,「擷取」會在 Extract 報表檔案中發出下列警告訊息後繼續執行:

DDL statement 'CREATE TABLE AS SELECT' is detected for table <table-name> at binary
log number <binlog number> and offset <binlog offset>. The DDL operation 'CREATE TABLE AS SELECT' is not supported.
The DDL and the associated DMLs are ignored.