已知问题和解决方法
本章介绍了发布时的已知问题。
发行版 19c (19.33.0.0.261020) - 2026 年 10 月
错误 38928029:通用 - 复制异常终止 OGG-30555 等待身份证明存储 wallet 升级的超时
Wallet 转换失败导致 ewallet.pf 滞后,导致其他进程出现超时问题
解决方法
手动清除 ewallet.pf 文件以允许下一个身份证明存储读取操作将自动登录 wallet 转换为 p12。
发行版 19c (19.31.0.0.260615) - 2026 年 6 月
错误 38496203:Autonomous Database - Replicat 异常终止,目标数据库中出现 ORA-04043“object does not exist(对象不存在)”错误
对于目标表,Autonomous Database 上的 GoldenGate Replicat 会在 error ORA-04043 "object does not exist" 中异常终止,即使这些表存在。此问题由字典错误和较低高速缓存的 Autonomous Database 目标的 DDL 通知导致错误,但对象未找到。
解决方法
在复制参数文件中添加 NOTARGETDDLNOTIFY 参数以在目标上禁用 DDL 通知。刷新共享池或将目标 ADB 移动到更高核心配置也可以允许字典正确加载。
发行版 19c (19.30.0.0.260306) - 2026 年 4 月
错误 38924691:Db2 z/OS - 提取异常终止,出现错误 OGG-01741 意外日志序列号
尽管在 Extract 从 Db2 z/OS 读取日志记录时,bug 修复了部分日志序列号不正常问题,但仍有一些边缘情况会触发此问题。
解决方法
虽然我们正在研究一个更全面的修复,但解决方法是重新启动提取,它将解决问题并继续运行。
错误 37575375:PostgreSQL - Test_decoding 插件不支持对多个表执行截断操作
由于当前解析逻辑的限制,PostgreSQL test_decoding 插件不支持对多个表执行截断操作。
发行版 19c (19.25.0.0.241015) - 2024 年 10 月
错误 33834951 - 在应用 Jan 2022patch 33742666 (19.1.0.0.220118) 后,提取异常终止,错误为“CACHEMGR:filecaching:pthread_created failed:errno:11 (Resource temporarily unavailable)”。
在 19.1.0.0.220222 发行版(发行版 19.1.0.0.220118 或更低版本)之前创建的任何边界恢复检查点在打补丁到 Oracle GoldenGate 发行版 19.1.0.0.220222 或更高版本后无法供提取使用。因此,提取只能使用标准恢复,直到使用更新的版本完成至少两个边界恢复检查点。
解决方法
在打补丁到 Oracle GoldenGate 发行版 19.1.0.0.220222 或更高版本之前,请确保在不长时间运行事务处理的情况下更新提取,并且归档日志可用于提取重新启动位置。
发行版 19c (19.24.0.0.260116) - 2026 年 1 月
错误 38619210 - alter table 命令的 DDL 生成源端回填数据的更新 DML,导致复制异常终止,出现映射错误
如果表中存在现有行,Oracle DDL 复制不支持将默认值设置为 sequence_name.nextval。
发行版 19c (19.1.0.0.200714) - 2021 年 10 月
错误 33407415:PostgreSQL - 提取在线索中写入错误记录,并在表级别启用了默认日志记录
配置为由提取捕获且未设置 FULL 副本标识日志记录的表在遇到更新和删除操作时会导致下游复制问题,从而导致复制异常终止。
解决方法
对任何配置为由提取捕获的表运行带有 ALLCOLS 选项的 ADD TRANDATA 命令,而不管该表是否具有主键。这可确保表具有 FULL 副本标识日志记录。
发行版 19.1.0.0.210420 - 2021 年 5 月
错误 32795888:SQL Server - ADD HEARTBEATTABLE 在 Azure SQL 数据库托管实例上失败,并提供了错误的错误消息,指出需要 TARGETGONLY
ADD HEARTBEATTABLE/ALTER HEARTBEATABLE NOTARGETONLY 命令对 Azure SQL 数据库托管实例不起作用,在尝试使用这些命令之一时,会报告一条错误的错误消息,指出 TARGETONLY 是必需的。
解决方法
无。
错误 32791333:Sybase 版本 15.7 和 16.1 不支持 Sybase - 心跳功能
Sybase 15.7 和 16.1 数据库版本不支持心跳功能。尝试添加心跳表时发生以下错误:
2021-04-13 08:50:31 ERROR OGG-10513 The job scheduler database(sybmgmtdb)does not exist.
Configure database sybmgmtdb and add Oracle GoldenGate replication user with correct role to create and run the heart beat job.
解决方法
无。
发行版 19.1.0.0.201013 - 2020 年 10 月
错误 31792776:PostgreSQL - 提取异常终止,并显示“Positioning sequence ID is out of order”错误
提取异常终止,出现错误 Positioning sequence ID is out of order。
解决方法
使用上次提取运行报告的文件中报告的 flush LSN 更改提取。
错误 29910461:DB2 for i-Pump abends with the ERROR " ERROR OGG-01224 TCP/IP ERROR 79 (Connection denied) "
如果已启动的泵进程数超过 50 个,则 Oracle GoldenGate 泵可能会失败并出现连接拒绝错误。
解决方法
一次启动更少的泵进程。
错误 31460112:DB2 LUW - X Endian Extract 已停止,并显示错误“将无效参数“piStartLRI”传递到“db2ReadLog”读取日志 API”
从跨端环境中 DB2 LUW 的远程数据库读取日志记录时,可能会出现此错误。
解决方法
无。
错误 31637694:Oracle - Replicat 在 Oracle GoldenGate 重新启动后跳过插入
如果 GROUPTRANSOPS 设置为 1,则当 Replicat 看到 RESTART_ABEND 时可能会跳过记录。
解决方法
将 GROUPTRANSOPS 设置为大于 1 或删除其设置。
发行版 19c (19.1.0) - 2020 年 9 月
错误 31652978:对于批任务加载的活动/活动表之一,Oracle - Extract 随机缺少 INSERTS
经典提取不能用于从 Exadata 平台捕获。要从 Exadata、Exadata Cloud Service 或 Exadata Cloud at Customer 或任何 Exadata 云服务捕获,必须使用集成提取。
解决方法
无。
错误 31922955:不支持通用 - LANG=en_US.UTF-16
在操作系统级别将 LANG 设置为 en_US.UTF-16 时,会导致 GGSCI 挂起。允许使用 en_US.UTF-8 设置。例如,Linux 中的设置将导致 GGSCI 或管理客户机停止:
[celclnx29]/bugmnt3/am/celclnx29/SRx.xxxxxxxxxxx/user/gg122> echo $LANG en_US.UTF-16
解决方法
无。
错误 31799288:经典提取不支持 Oracle - 表空间加密
Oracle 数据库 19c 的经典提取不支持表空间加密。
解决方法
无。
错误 31768942:ADB-S - SHARE 选项对 PerPDB 捕获不起作用
尽管注册成功,但在为 PerPDB 注册提取时会忽略 SHARE 选项。
解决方法
无。
发行版 19.1.0.0.200714 - 2020 年 8 月
错误 31732282 - PostgreSQL:不支持用户定义的类型
Oracle GoldenGate for PostgreSQL 不支持用户定义的数据类型 (UDT)。
解决方法
不要使用具有用户定义的数据类型的表,也不要从 Extract 或 Replicat 参数文件中排除此类表。
错误 31730629:PostgreSQL - 不支持从实体化视图获取
不支持从实体化视图获取记录。
解决方法
请勿在提取参数文件中使用实体化视图。
错误 31730647:PostgreSQL - 无法区分 UPDATE 记录中的空字符串和空字符串
PostgreSQL 提取功能无法区分空字符串或空数据的 VARCHAR 列数据,前提是该数据插入为空字符串或空数据,之后使用 NULL 或空字符串进行更新或以其他方式进行舍入。
Workaroud
使用 NOCOMPRESSUPDATES 参数。
错误 31730664:PostgreSQL - Oracle GoldenGate 提取的 PostgreSQL 安装中必须存在默认插件 test_decoding.so 以捕获 WAL 记录
默认 test_decoding 插件必须在 PostgreSQL 安装目录中可用。如果它是现有数据库设置,并且您无法在数据库 LIB 文件夹下找到 test_decoding.so,则必须从以下位置下载 test_decoding.so
如果数据库版本为 PostgreSQL 11:
sudo yum install postgresql11-contrib
如果数据库版本为 PostgreSQL 10:
sudo yum install postgresql10-contrib
解决方法
无。
发行版 19.1.0.0.200714 - 2020 年 7 月
错误 31097457:PostgreSQL - 将位/仲裁类型绑定为 char/varchar 而非二进制
在初始加载模式下,当实际数据小于源位变化列上定义的长度时,可以使用 0s 作为位变化数据的前缀。通过在 0s 前加上前缀,将数据长度舍入到最接近的 8 倍。
解决方法
无
错误 31326961:PostgreSQL - 未正确捕获包含 AD 或 BC 标记的时间戳数据或包含超过 4 位数的 YEAR 组件
在目标 PostgreSQL TIMESTAMPTZ 列上应用数据时,不会将时区组件中的秒字段写入跟踪,从而导致源和目标之间的数据不匹配。
解决方法
无。
错误 31326068- 从数据库获取的数据在时区组件中具有秒时,TimestampTZ 数据不匹配
目标 databsae 中不考虑所接收数据中时区组件的秒数部分。例如,如果接收的数据具有时区组件数据 1900-03-03 02:02:02.123 +03:59:56,则会忽略时区中的 56 秒,并观察到不匹配的 56 秒。
解决方法
如果 postgresql.conf 文件中的时区参数为 utc,则不会出现此问题。
错误 31146341:PostgreSQL - 如果目标数据库表具有使用 GENERATED ALWAYS AS IDENTITY 子句创建的“始终标识”列,则会出现错误
如果目标数据库表创建了使用子句 ``GENERATED ALWAYS AS IDENTITY` 的“始终标识”列,则会引发以下错误。
2020-05-09 21:46:39 ERROR OGG-00551 Database operation failed: Preparing statement (INSERT INTO "public"."int1_nokey" ("id",...)). ODBC error: SQLSTATE 37000 native database error 3624914. [Oracle][ODBC PostgreSQL Wire Protocol driver][PostgreSQL]ERROR: VERROR; cannot insert into column "col3"(Detail Column "col3" is an identity column defined as GENERATED ALWAYS.); Hint Use OVERRIDING SYSTEM VALUE to override.; File d:\pginstaller.auto\postgres.windows-x64\src\backend\rewrite\rewritehandler.c; Line 826; Routine rewriteTargetListIU; [Oracle][ODBC PostgreSQL Wire Protocol driver][PostgreSQL]Failed transaction. The current transaction rolled back.
解决方法
如果由于标识列的种子值发生更改而导致行中存在任何冲突或冲突,则可以执行以下操作来更正它:
-
查找对有问题的表中的自动递增列执行的序列名称。
select pg_get_serial_sequence('fruits','id') where table is "fruits" and auto-increment column name is "id" pg_get_serial_sequence "public.fruits_id_seq" -
查找自动增加列的种子值的默认增量。
select increment from information_schema.sequences where sequence_name= 'fruits_id_seq' and sequence_schema='public'; -
使用以下查询更改自动增加列的种子值:
SELECT SETVAL('fruits_id_seq', (SELECT MAX(id) + increment FROM fruits));\ -
开始复制。
错误 31521207:PostgreSQL - 将 BIT 数据转换为 Char/Varchar 数据类型时数据损坏
不支持将长度为 1 的 BIT 类型的 PostgreSQL 源列(BIT、BIT(1) 或 VARBIT(1) 类型)映射到目标 CHAR 或 VARCHAR 类型列。
解决方法
使用长度大于 1 的源位类型列。
错误 31528537:PostgreSQL- 在复制到 @token 时,对于类型数字,复制异常终止,输入语法无效
从 PostgreSQL 提取不支持在 WHERE 子句中使用 DATE 或 TIMESTAMP 列的 SQL 查询的 SQLEXEC。
解决方法
无。
错误 31204771:PostgreSQL - DBLOGIN 生成错误 “Error parsing connect string at offset 51 ’ when using password in special chars”
DBLOGIN 由于密码识别的限制而生成错误。
解决方法
此问题没有解决方法,但应考虑以下限制:
-
当口令具有特殊字符时,应使用双引号将其引起来。
-
密码字符串不能使用分号作为特殊字符。如果使用分号,则将其视为连接字符串中的字段分隔符,驱动程序将其解释为导致连接失败的连接选项。
-
在创建
USERIDALIAS时,不能将口令与分号一起使用。
错误 31216309:PostgreSQL - 当启用了本机复制时,提取无法从备用数据库注册
不支持从备用数据库捕获。
解决方法
无。
错误 31560266:MySQL - 需要为 MySQL、MariaDB Amazon Aurora、Amazon RDS 更正 ADD HEARTBEATTABLE 消息
如果数据库用户在数据库中没有 EVENT 权限,则 GRANT EVENT 到 user@databasename 的消息将列出错误。
解决方法
对 user@hostname 授予 EVENT 权限;如果针对 Amazon Aurora 或 Amazon RDS 运行,则通过新的或非默认的参数组将 event_scheduler 变量设置为 ON。
发行版 19.1.0.0.200414 - 2020 年 6 月
错误 31455294:DB2 z/OS - Oracle GoldenGate 19c (19.1.0.4) Extract 导致 LPAR 和 DB2 崩溃
如果为 DB2 z/OS 安装了 Oracle GoldenGate 19c (19.1.0),但 Oracle GoldenGate 19c (19.1.0) 安装引用了 Oracle GoldenGate 12c (12.3.0.1) 存储过程的先前安装或未正确替换,则可能会发生 ECSA 损坏,这可能会导致整个 LPAR 致命异常终止。如果升级 Oracle GoldenGate,则必须确认 DB2 z/OS PDSE 中的新可执行文件已正确安装,或者在新的存储过程和 UDTF 定义中使用并引用了新可执行文件的名称。
解决方法
确保正确执行安装。
错误 30328936:DB2 z/OS - Extract 间歇性地异常终止,错误为 "OGG-06550 Cannot position in log buffer"
如果提取中的一个或多个表中存在 LOB 或发出 NOAPIFILTER,则提取可能会间歇性异常终止,并出现错误 OGG-06550 Unable to position in log buffer。
解决方法
您需要将以下内容添加到提取配置中:
TRANLOGOPTIONS APIBUFSIZE 100000
如果问题仍然存在,请慢慢增加值,直到问题停止。此值不得高于为 OGGREADB 用户定义的表函数定义的输出 BLOB 列大小。这会直接影响在 DB2 z/OS 系统上分配的 ECSA 缓冲区的大小,因此建议您仅根据需要增加此值。如果决定更改 APIBUFSIZE,则该值不应大于 BUFSIZE 参数的值,该参数的默认值为 1MB。
发行版 19.1.0.0.200414 - 2020 年 4 月
错误 31202227 - 适用于 MySQL 的 Azure 数据库:提取在心跳表中的第二个或第三个心跳种子记录后异常终止
在远程连接到 Azure Database for MySQL 时,提取在第二次或第三次更新到 hb_seed table 后异常终止,并出现以下错误。
ERROR OGG-01161 Bad column index (-4096) specified for tablemysrcdb.gg_heartbeat_seed, max columns = 17..
解决方法
确保将 binlog_row_image 系统变量设置为 FULL。
发行版 19.1.0.0.200204 - 2020 年 2 月 4 日
错误 30033958 - DB2 z/OS:提取未捕获的截断表
对源数据库执行的 TRUNCATE IMMEDIATE 不反映在目标数据库中。
解决方法
提取参数文件中需要 GETTRUNCATES 才能查看目标中的更改。此外,请从 TRUNCATE 命令中删除 IMMEDIATE 参数。
错误 31195430-TRANLOGOPTIONS EXCLUDETAG 不适用于并行 DML 操作
来自 PDML 事务处理的线索记录缺少标记数据/标记。
解决方法
无
发行版 19c (19.1.0) - 2019 年 10 月
错误 30427030-Oracle:管理客户机中的 VIEW PARAMS 和 VIEW REPORT 命令失败
在 Windows Server 上运行管理客户机时,使用标准查看器实用程序时,VIEW PARAMS 和 VIEW REPORT 命令会失败。
解决方法
要解决此问题,请在管理客户机中执行以下命令:
SET PAGER notepad
发行版 19c (19.1.0) - 2019 年 9 月
错误 30328936 - DB2 z/OS:Extract 间歇异常终止,错误为 "OGG-06550 Cannot position in log buffer"
如果提取中的一个或多个表中存在 LOB 或发出 NOAPIFILTER,则提取可能会间歇性异常终止,并出现错误 "OGG-06550 Unable to position in log buffer"。
解决方法
您需要将以下内容添加到提取配置中:
TRANLOGOPTIONS APIBUFSIZE 100000
如果问题仍然存在,请慢慢增加值,直到问题停止。此值不能大于为 OGGREADB 用户定义的表函数定义的输出 BLOB 列大小。这直接影响在 DB2 z/OS 系统上分配的 ECSA 缓冲区的大小,因此建议仅在必要时增加此值。如果决定更改 APIBUFSIZE,则该值不应大于 BUFSIZE 参数的值,该参数的默认值为 1MB。
错误 29541089 - SQL Server:与早期版本相比,SQL Server 2017 的提取捕获速率较慢
Microsoft 引发了 Oracle GoldenGate Capture rate for Microsoft SQL Server 2016/2017 可能导致降级的问题。
解决方法
无。
错误 30222937 - SQL Server:提取没有 SYSADMIN 权限时有关 SQL Server Agent 的消息不正确
提取使用不是 sysadmin 服务器角色成员的登录连接到 SQL Server 实例时,将显示一条消息,指出 SQL 代理未运行,这可能正确,也可能不正确,因为登录没有实际确定 SQL 代理状态的权限。
解决方法
将 Extract 使用的登录授权为 SYSADMIN 服务器角色的成员,或者手动确认 SQL 代理正在运行,并忽略 Extract 报告文件中的警告。
错误 30222904 - SQL Server:提取在 AlwaysOn 辅助副本数据库出现权限问题时异常终止
当使用 TRANLOGOPTIONS ALWAYSONREADONLYROUTING 配置 Extract 时,使用通过监听程序的 DSN 连接,并且将 Always On 组配置为只读路由时,如果 Extract 使用的登录未映射到辅助副本数据库上的数据库用户,则 Extract 将异常终止,不会出现任何错误。
解决方法
创建提取在辅助实例上使用的相同登录名或密码,并授予登录名 SYSADMIN 权限。
错误 29209870 - SQL Server:SQL Server CDC TRANDATA 不支持数据库或表名中的句点
Oracle GoldenGate for SQL Server 的 ADD TRANDATA 不支持数据库或表名中的句点。
解决方法
无。
错误 29882931 - MySQL:如果在从 Oracle GoldenGate 18c 发行版升级到 19c 发行版时使用了 SOURCEDEF 参数,则复制将异常终止
如果从 Oracle GoldenGate 18c 发行版升级到 19c 发行版时使用 SOURCEDEF 参数,则 Oracle GoldenGate Replicat 会异常终止并显示错误 "OGG-01163 Bad column length (6) specified for column ID"。
解决方法
升级时请勿使用 SOURCEDEF 参数。
错误 27028084-MySQL:远程捕获中的二进制日志文件大小
对于 Oracle GoldenGate MySQL 中的远程捕获,不支持大于 4 GB 的二进制日志文件。因此,在定位偏移时,不支持大于 4294967295 的偏移。
解决方法
无。
错误 30023717 - Oracle:处理相互依赖性极高的事务处理时,并行复制偶尔会失败并返回 ORA-1403
在极少数情况下,具有大量潜在依赖项的事务中,并行复制会异常终止,出现错误 ORA-1403: "no data found"。
解决方法
重新启动复制。在保持全局数据一致性的同时,将正确应用原始事务处理。
错误 30207560 - Oracle:打开 Oracle GoldenGate 进程时,GGSERR 日志文件无法在 Windows 上滚动
ggserr.log 文件配置为在默认大小或修改大小之后自动滚存。但是,对于 Windows 上的 Oracle GoldenGate,存在正在运行的进程时,ggserr.log 文件无法滚动更新。
解决方法
停止所有正在运行的提取、泵、复制,然后重新启动它们。这将允许 ggserr.log 结转。
错误 30250118-Oracle:Auto-CDR 的 AIX 和 Solaris 统计信息未正确报告
在 Oracle GoldenGate 19c 上使用 Oracle 数据库 18c 在 AIX 或 Solaris 上实施分片时,auto-CDR 无法正确报告回统计信息。
解决方法
无。
发行版 19c (19.1.0) - 2019 年 5 月初始发行版
错误 27938481:在并行复制中使用具有不同 KEYCOLS 的 ALLOWDUPTARGETMAP 时未生成错误消息
Oracle GoldenGate 不会为具有不同 KEYCOLS 的 ALLOWDUPTARGETMAP 生成错误消息,这在非集成并行复制中不受支持。集成并行复制和集成复制中不支持 ALLOWDUPTARGETMAP。经典复制和协调复制中支持具有不同 KEYCOLS 的 ALLOWDUPTARGETMAP。
解决方法
无。
错误 29761322 - Oracle:当 Extract 在软件升级到 18.1 或更高版本后写入 12.2 线索格式时,多字节 CLOB 编码不正确
当 Extract 将多字节 CLOB 数据以与现有线索文件格式相同的格式写入线索时,Extract 会以不正确的编码写入 MBCS CLOB 数据。当线索文件格式为 12.2 或更早或 FORMAT RELEASE 用于指定早于 12.2 的格式时,会发生这种情况。
解决方法
如果当前线索文件格式为 12.2 且存在多字节 CLOB,则在软件升级后执行显式 ETROLLOVER。
错误 25890033 - i 的 DB2:具有多日记帐支持的问题
对于我从单个日志中读取的,仍建议在 DB2 上提取。但是,这确实有一个副作用,即如果启用了心跳,则必须将心跳表记录到与用于复制的数据日志相同的日志中。
解决方法
建议对心跳表使用 DELETE/ADD TRANDATA,以便将日志记录到正确的日志。
错误 29778593 - DB2 LUW,DB2 for i,DB2 z/OS,Teradata:Heartbeat lag 命令不显示传入和传出路径
心跳滞后命令不显示传入和传出路径。但是,心跳和心跳历史记录表包含有效数据。
解决方法
无。