預設行為變更

本節描述對 Oracle GoldenGate 所做的與上一個版本相關的預設行為變更。

版本 19.1 (19.29.0.0.251021) - 2025 年 10 月

錯誤 37909236:MariaDB - 移除 MariaDB binlog_annotate_row_events=OFF 的需求

從這個版本的 Oracle GoldenGate 開始,MariaDB 已移除將 binlog_annotate_row_events 設為 OFF 的需求。

版本 19.1 (19.28.0.0.250715) - 2025 年 8 月

錯誤 37757820:一般 - 對所有非 Oracle 資料庫啟用 NOCHECKUNIQUEKEYS 作為 BATCHSQL 的預設值

對所有非 Oracle 資料庫啟用 NOCHECKUNIQUEKEYS 作為 BATCHSQL 的預設值。

版本 19c (19.27) - 2025 年 5 月

錯誤 37576949:一般 - 需要新的整合式 Replicat (IR) 才能有檢查點表格

建立整合式 Replicat 時,Oracle GoldenGate 將需要檢查點表格。

必須重新建立所有現有的整合式 Replicat,以包含檢查點表格。ALTER REPLICAT 命令無法用來將檢查點表格新增至使用 NODBCHECKPOINT 建立的現有 Replicat 處理作業。

版本 19.25.0.0.241015 - 2024 年 10 月

Oracle GoldenGate 公事包安全更新

已從 Oracle GoldenGate 公事包移除自動登入特性

為了增強儲存證明資料資訊 (微服務使用者的登入資訊) 的 Oracle GoldenGate 公事包安全性,已移除 Oracle GoldenGate 公事包的自動登入特性。

因此,在將部署修正為 Oracle GoldenGate 版本 19.25 和更新版本並啟動之後,再倒回 19.24 或更新版本的先前 Oracle GoldenGate 版本後,便無法執行,因為密碼保護公事包無法自動轉換回自動登入公事包。

修正至 Oracle GoldenGate 版本 19.25 或更新的版本之前,取得公事包中所儲存資訊的短期解決方法,是儲存舊版的自動登入公事包,然後在倒回時手動回復這些公事包。

版本 19.1.0.0.230418 - 2023 年 4 月

Oracle

隨附於 JDK for Oracle 的 Opatches

JDK 現在已封裝在 Oracle GoldenGate 修正程式開始版本 21.10 和 19.1.0.0.230418 中。請注意,只有 <GG_HOME>/jdk 目錄會更新為 GoldenGate 修補程式版本。請參閱文件 ID 2359395.1 ,瞭解透過 GoldenGate 修正程式或個別更新 JDK 的詳細資訊和其他參照。

您仍然可以選擇隨時將最新的 JDK 修正程式安裝到 <GG_HOME>/jdk 目錄中。如需詳細資訊,請參閱文件 ID 1492980.1 。

200714 年 9 月 19.1.0.0.200714 版

PostgreSQL

指定資料時,參數 TransactionErrorBehavior 必須設為 2

若要讓 PostgreSQL Replicat 能夠適當地處理資料庫錯誤情況,參數 TransactionErrorBehavior 的值必須設為 2。它是 Oracle GoldenGate 的必要參數,必須在 DSN 底下的 odbc.ini 檔案內指定。以下是指定參數的 DSN 範例:

[ODBC]
IANAAppCodePage=4
InstallDir=/u01/ggate

[pgdsn]
Driver=/u01/ggate/lib/GGpsql25.so
Description=DataDirect 7.1 PostgreSQL Wire Protocol
Database=mypgdb
HostName=mypghost
PortNumber=5432
LogonID=mypguser
Password=**********
TransactionErrorBehavior=2

若要瞭解更多資訊,請參閱 https://media.datadirect.com/download/docs/odbc/allodbc/index.html#page/odbc/transaction-error-behavior.html

版本 19c (19.1.0.0.200714) - 2020 年 7 月

PostgreSQL

DEFERAPPLYINTERVAL 未如預期運作 PostgreSQL Replicat

如果資料庫和作業系統的時區不同,Replicat 會等到來源系統的本機 GMT 時間大於記錄確認時戳 + DEFERAPPLYINTERVAL 延遲為止。

Replicat 在 Replicat 重新啟動後以混合大小寫建立時,無法識別檢查點表格

checkpointtable 名稱必須為小寫且不含引號,且不含任何特殊字元。

19c 版 (19.1.0) - 2020 年 5 月

如果 Oracle GoldenGate 本位目錄名稱中有空間,則不會執行「Oracle GoldenGate 組態輔助程式」

如果 Oracle GoldenGate 本位目錄名稱或 OGG_HOME 中的空間 (例如 OGG HOME),則不會在 Windows 上執行「Oracle GoldenGate 組態輔助程式 (OGGCA)」。

19c 版 (19.1.0) - 2019 年 9 月

INFO HEARTBEATTABLE

SQL Server 的 INFO HEARTBEATTABLE 命令現在會報告活動訊號頻率間隔、永久清除頻率間隔以及保留時間。

TRANLOGOPTION 查詢預設值

對於 SQL Server,預設的 QUERYTIMEOUT 已從 30 秒延伸至 300 秒。

在 DDL 變更後新增驗證

如果 SQL Server 偵測到來源表格與「變更資料擷取」表格之間的表格結構有差異,則會異常中止 Extract。

TLS 1.2 連線支援

若為 SQL Server,擷取和 Replicat 會自動提供 TLS 1.2 連線支援 (若啟用的話)。

搭配 MySQL 使用 Oracle GoldenGate 19c 的先決條件

Oracle GoldenGate for MySQL 具有 OpenSSL 程式庫的相依性,因此 OpenSSL 程式庫的可用性是先決條件。

Linux:將 LD_LIBRARY_PATH 設為包含安裝 OpenSSL 程式庫的路徑。

Windows:對於 MySQL 8.0 和更新版本,OpenSSL 程式庫隨附 MySQL 伺服器,並保留在 MySQL 本位目錄的 \bin 目錄中。您必須確定 OpenSSL 的位置已新增至路徑環境變數。

例如,需要將 D:\path\to\MySQLServer_install_dir\bin 目錄新增至 PATH 環境變數。

或者,您可以安裝包含 OpenSSL 程式庫的最新 MySQL C++ 連接器 (MySQL 8.0 或更新版本),並確定 OpenSSL 的位置已新增至路徑環境變數。例如,需要將 C:\Program Files\MySQL\Connector C++ 8.0\lib64 目錄新增至 PATH 環境變數。

使用 MySQL 5.7 或更少版本時,您必須安裝包含 OpenSSL 程式庫的最新 MySQL C++ 連接器 (MySQL 8.0 或更高版本),並確定 OpenSSL 的位置已新增至 PATH 環境變數。例如:需要將 C:\Program Files\MySQL\Connector C++ 8.0\lib64 目錄新增至 PATH 環境變數。

Oracle GoldenGate for MySQL 8.0 具有 OpenSSL 程式庫的相依性,因此此程式庫的可用性是先決條件。您必須確定已在執行 Oracle GoldenGate 的系統上安裝程式庫,並適當地設定此程式庫的路徑。

Oracle GoldenGate 使用者名稱沒有樣式限制,但長度上限為 512 個字元

已移除 Oracle GoldenGate 使用者名稱的限制條件,但長度上限為 512 個字元。對於基本和憑證類型使用者,REST API 中使用者名稱的特殊字元沒有限制。

不過,在 Microservice Architecture Web 介面中,使用者名稱只能包含 Basic 類型使用者的特定特殊字元。這些字元包括:

at sign (@), period (.) , dash (-), comma (,), underscore (_), number sign (#), dollar sign ($), plus sign (+), backslash (\), slash (/), equal sign (=), less than sign (<), or greater than sign (>).

版本 19c (19.1.0) - 2019 年 5 月初始發行版本

微服務實作需要更安全的密碼

Microservices 實作中使用者的密碼必須使用更安全的密碼,裡面有大寫字母、數字和特殊字元。

歷程檔格式

Extract 更新之後,如果指定較新的歷程檔格式,則主要 Extract 會自動變換至下一個歷程檔和寫入器 (使用指定的歷程檔格式)。您不需要執行 ALTER EXTRACT ETROLLOVER 命令。

擷取預設軌跡檔案版本

主要 Extract 會在您升級至 Oracle GoldenGate 19c 時,以與現有歷程檔格式相同的格式寫入歷程檔,除非您使用 FORMAT RELEASE 選項明確指定歷程檔格式版本。若未升級 Replicat,此行為變更可防止後續 Replicat 異常中止。

不再需要 _INFINITYTOZERO 參數

不再需要 _INFINITYTOZERO 參數。當 Oracle GoldenGate 偵測到 Oracle 數值欄位中的 +INF 或 -INF 值時,會自動處理,就像已經設定此參數一樣。

如果目標為 Oracle Replicat 19c 版本,則會正確套用 +INF 和 -INF。所有其他資料庫 (包括舊版 Oracle Replicat) 都會套用 0 值。

Oracle TIMESTAMP WITH TIME ZONE 擷取

FETCH 和初始載入現在支援具有區域 ID 資料之 TIMEZONE 的 TIMESTAMP。如需詳細資訊,請參閱 Oracle GoldenGate 參照中的 [TRANLOGOPTIONS](/pls/topic/lookup?ctx=en/middleware/goldengate/core/19.1/release-notes&id=GWURF-GUID-B6ADFEC9-10E6-456D-9477-088513E113AF)

此功能會在需要時自動啟用,而且您不再需要指定 TRANLOGOPTIONS INCLUDEREGIONID。若為非 Oracle 目標,請使用 TRANLOGOPTIONS INCLUDEREGIONIDWITHOFFSET 將區域 ID 轉換為 UTC 的時間偏移量。

GETCTASDML 選項預設設定

預設會啟用 TRANLOGOPTIONS 參數可用的 GETCTASDML 選項。

NOALLOWNULLABLEKEYS 預設設定

NOALLOWNULLABLEKEYS 參數的預設設定為 true。

此功能已建立,可協助客戶輕鬆識別因索引鍵資料欄中允許多個 NULL 值而有問題的表格。

Binlog 格式支援的變更

(僅限 MySQL) 擷取在偵測到 ROW 以外的 binlog_format 時,會無訊息地忽略未以 ROW 格式寫入的 binlog 事件,而不是異常中止。