OCI 中的已知问题 GoldenGate

相关主题

一般

了解适用于整个服务的一般已知问题以及如何解决这些问题。

使用与密钥的连接时遇到错误

在以下版本的 OCI GoldenGate 中使用包含密钥和 Vault 的连接时,可能会遇到连接错误:
  • oggbigdata:23.8.0.0.0_250428.1314_1246
  • oggbigdata:23.8.0.0.0_250523.1247_1247
  • oggbigdata:23.8.0.0.0_250523.1247_1253
  • oggbigdata:21.18.0.0.0_250416.1417_1253
  • oggmysql:23.8.0.0.0_250412.2241_1246
  • oggmysql:23.8.0.0.0_250412.2241_1237
  • oggmysql:23.8.0.0.0_250412.2241_12211
  • oggpostgresql:23.8.0.0.0_250517.1921_1248
  • oggpostgresql:23.8.0.0.0_250412.2241_1246
  • oggpostgresql:23.8.0.0.0_250412.2241_1237
  • oggdb2zos:23.8.0.0.0_250412.2241_1253
  • oggdb2zos:23.8.0.0.0_250412.2241_1246
  • oggdb2i:23.8.0.0.0_250524.0756_1253
  • oggdb2i:23.8.0.0.0_250524.0756_1246

解决方法:

在不使用 OCI Vault 密钥的情况下重新创建连接:
  1. 在“创建连接”页中,展开该页底部的高级选项
  2. 在“高级”选项下,展开设置
  3. 取消选择 Use secrets in vault
  4. 完成创建没有 Vault 密钥的连接。

或者,如果您的连接中没有“高级”选项,请尝试使用早期版本的部署。

将 21.x 部署升级到 21.17 后,分发和接收方路径可能会失败

Oracle GoldenGate 版本 21.17 和 23ai 开始,路径使用默认的保留域名 "Network",因此使用任何其他域名的现有路径将失败,并报告以下错误:

ERROR| Exception Message: The network connection could not be established: 'OGG-10351' - 'Generic error -1 noticed. Error description - credential store alias not found in domain.'

解决方法:

OCI GoldenGate 部署控制台中,编辑每个路径并将域名更改为 "Network",然后重新启动该路径。要进行验证,请在“配置”页的“身份证明存储”部分中检查路径验证用户的域。

如果希望使用 Admin Client,请运行以下命令来更新域名。确保替换 <path_name><alias> 占位符:

对于源启动的路径:

ALTER DISTPATH <path_name> TARGET AUTHENTICATION USERIDALIAS <alias> domain
    Network

对于由目标启动的路径:

ALTER RECVPATH <path_name> SOURCE AUTHENTICATION USERIDALIAS <alias> domain
    Network

升级到 Oracle GoldenGate 21.17 for Big Data 时遇到的问题

从 Oracle GoldenGate 版本 21.14、21.15 或 21.16(适用于大数据)升级到版本 21.17(配置了信任库和/或密钥库连接属性)的用户将失败,并报告以下错误:

Caused by: oracle.goldengate.util.GGException: An exception occurred when creating the Kafka Producer object. 
Caused by: org.apache.kafka.common.KafkaException: Failed to construct kafka producer 
Caused by: org.apache.kafka.common.KafkaException: Failed to load SSL  keystore /u02/connections/<connection OCID>/trustStore of type JKS 
Caused by: java.io.IOException: keystore password was incorrect

解决方法:

  1. 将 JKS 信任库和密钥库转换为 PKCS12。
    1. 对于密钥库,它应提示输入口令。Keytool 是 JDK 中的一个实用程序。
      keytool -importkeystore -srckeystore [MY_KEYSTORE.jks] -destkeystore [MY_KEYSTORE.p12] -srcstoretype JKS -deststoretype PKCS12 -deststorepass [PASSWORD_PKCS12]
    2. 对于 truststore,它应提示输入口令。
      keytool -importkeystore -srckeystore [MY_TRUSTSTORE.jks] -destkeystore [MY_TRUSTSTORE.p12] -srcstoretype JKS -deststoretype PKCS12 -deststorepass [PASSWORD_PKCS12]
  2. 在 Kafka 生成器属性文件中,设置以下内容:
    ssl.truststore.type=PKCS12
    ssl.keystore.type=PKCS12

从 21.15 或 23.x 构建回退到 21.14 期间遇到的问题

尝试将 21.15 或 23.x 构建回退到:

  • Oracle (21.14.0.0.0_240525)
  • Big Data (21.14.0.0_0_240515)
  • MySQL (21.14.0.0_240404)
  • MSSQL (21.14.0.0.0_240404)

您可能会遇到以下问题之一:

  • 由于新的 wallet 加密功能引入了 21.15 以后缺少连接/身份证明问题。

    解决方法:必须取消分配和重新分配到部署的现有连接,并重新创建任何正在使用的分发或接收器路径所需的缺少用户。

  • 由于性能度量服务在 23.x 到 21.14 的回退中出现问题,服务管理器无法启动。如果您遇到此问题,请与 Oracle 技术支持联系。
  • Oracle GoldenGate 进程失败,出现错误 “OGG-02431 在检查点文件中找到的记录标头无效”。

    解决方法:将部署升级到该系列中可用的最新 21.14 构建。如果问题仍然存在,请与 Oracle 技术支持联系。

尝试使用 IP 访问启用 IAM 的部署时出现无效重定向 URL 错误

尝试使用部署的 IP 地址访问启用了 IAM 的部署时,您会遇到以下错误:

{"error":"invalid_redirect_uri","error_description":"Client
        xxxxxxxx1ocioraclecloudcom_APPID requested an invalid redirect URL: https://192.x.x.x/services/adminsrvr/v2/authorization. ECID:
        xxxx"}

解决办法:您可以执行以下操作之一:

选项 1 :将部署 IP 地址添加到您的身份域应用程序。要进行此更改,您必须是分配给应用程序的用户组的一部分。

  1. 在 Oracle Cloud 导航菜单中,选择身份和安全,然后在“身份”下面,单击
  2. 从“域”列表中选择域。
  3. 从域的身份域资源菜单中,选择 Oracle Cloud Services
  4. 从 Oracle Cloud Services 列表中选择您的应用程序。例如, GGS INFRA Application for Deployment Id:<deployment OCID>
  5. 在 OAuth 配置下的应用程序页上,单击编辑 OAuth 配置
  6. 对于重定向 URL ,输入部署的控制台 URL,其中部署的 IP 代替域。例如:https://<deployment-ip>/services/adminsrvr/v2/authorization
  7. 保存所做更改。
选项 2:在客户机主机文件中添加一个条目,以将 127.0.0.1 映射到部署 FQDN(将 <region> 替换为相应的区域)。例如:
127.0.0.1 xx.deployment.goldengate.<region>.oci.oraclecloud.com

无法更新 IAM 部署上的定制证书

该服务禁止更新 FQDN,因为它会影响跨区域访问,并且需要更新目标区域中的 IAM 资源。

解决方法:要解决此问题,请创建一个新部署以使用更新的 FQDN。

Oracle GoldenGate REST API 将返回 302 重定向到索引页。

您可以使用 GoldenGate REST API 管理 OCI GoldenGate 部署。对于熟悉 Oracle GoldenGate 的用户,请注意,Service Manager 未在 OCI GoldenGate 中公开,对 Service Manager 的任何调用都无法返回。

AdminClient: Unable to negotiate with <ip-address> port 22: no matching host key type found.

在 Cloud Shell 中使用 AdminClient 连接到部署时,可能会遇到以下消息:
FIPS mode initialized.
Unable to negotiate with <ip-address> port 22: no matching host key type found. Their offer: ssh-ed25519
Action completed. Waiting until the work request has entered state: ('SUCCEEDED',)
FIPS mode initialized.
Unable to negotiate with <ip-address> port 22: no matching host key type found. Their offer: ssh-ed25519
Cannot create ssh tunnelnel

解决办法:完成以下步骤:

  1. 打开新的 Cloud Shell 会话。
  2. 使用以下命令创建文件:
    cat .ssh/config
  3. 将以下内容输入到 .ssh/config 文件中,然后将其保存:
    HostkeyAlgorithms ssh-rsa,ssh-ed25519
    PubkeyAcceptedKeyTypes ssh-ed25519,ssh-rsa
  4. 如果存在现有 .ssh/known_hosts 文件,请将其删除。
  5. 关闭 Cloud Shell 会话。
  6. 单击部署详细信息页上的启动管理客户端

连接

了解与连接相关的已知问题以及如何解决这些问题。

使用资源主用户时出现 OCI 对象存储复制错误

如果 OCI 对象存储连接使用资源主用户验证,复制将失败,并显示以下错误:
ERROR 2025-06-12 14:48:16.000489 [main] - An exception has occurred: java.lang.NullPointerException: Cannot invoke "String.startsWith(String)" because "path" is null java.lang.NullPointerException: Cannot invoke "String.startsWith(String)" because "path" is null

解决方法:要解决此问题,请编辑连接,然后选择其他验证方法。

OCI 中的 Apache Iceberg 连接问题 GoldenGate

如果您在使用 Apache Iceberg 连接时遇到以下错误,请打开支持请求单,共享详细信息和错误消息:

ERROR 2025-07-08 13:34:09.000481 [main] -  Parameter [awsSecretKey] is missing in the
      connection payload. Parameter [awsSecretKey] is missing in the connection payload.

与共享端点的 Amazon S3Google Cloud Storage 连接存在 Java.net.UnknownHostException 错误

解决方法:编辑连接并将流量路由方法更改为专用,或者在创建 Amazon S3Google Cloud Storage 连接时选择专用

OCI GoldenGate MongoDB 连接不支持 mongdb+srv 连接字符串。

解决方法:使用 MongoDB 连接字符串。

  1. 在 MongoDB Atlas 中,单击连接
  2. 选择驱动程序
  3. 选择 Java
  4. 对于版本,选择 3.4 或更高版本
  5. 可以使用提供的 mongodb 字符串。例如:
    mongodb://<user_name>:<db_password>@cluster0-shard-00-00.abc.mongodb.net:27017,cluster0-shard-00-01.abc.mongodb.net:27017,cluster0-shard-00-02.abc.mongodb.net:27017/?ssl=true&replicaSet=atlas-3grqh1-shard-0&authSource=admin&retryWrites=true&w=majority&appName=Cluster0

OCI GoldenGate 中的 Amazon S3 连接出现问题

如果您在使用 Amazon S3 连接时遇到以下错误,请打开支持请求单,共享详细信息和错误消息。

ERROR 2024-03-04 11:42:31.000505 [TaskEngine_2(FileFinalizeTask)] - Verify S3 bucket
      [ggstest] failed.com.amazonaws.SdkClientException: Unable to execute HTTP request: s3.us-east-2.amazonaws.com

然后,您可以使用以下步骤作为临时解决方法。

解决方法:

  1. 连接到 Cloud Shell。
  2. 使用以下 CLI 样例创建新的 Amazon S3 连接:
    oci goldengate connection create-amazon-s3-connection --routing-method SHARED_SERVICE_ENDPOINT --display-name <connection_name> --compartment-id <compartment_ocid> --technology-type AMAZON_S3 --access-key-id <aws_access_key> --secret-access-key <aws_secret>
  3. 将连接分配给您的部署。
  4. Amazon S3 添加并运行 Replicat

或者,如果您不希望使用公共访问,请将 Amazon S3 连接的存储桶配置为使用 AWS VPC Endpoints。要使 OCI GoldenGate 使用 VPC Endpoints 访问 S3 存储桶,还必须在 VCN 和 AWS VPC 之间配置 IPsec VPN。

要设置 Amazon S3 的端点,请将 gg.eventhandler.s3.url 属性添加到复制属性文件,并为专用连接提供端点。

MongoDB 测试连接出现问题

Test connection 与 MongoDB 连接一起使用时可能会遇到错误。您可以在 OCI GoldenGate 部署控制台中忽略此错误并测试 MongoDB 连接。在部署控制台中,打开 Administration Service 的导航菜单,单击配置。您的 MongoDB 连接应列为身份证明,您可以在其中单击连接到 <alias> 以测试连接。

使用 mTLS 验证的自治数据库所需的操作

轮换 Autonomous Database wallet 时,必须刷新到此数据库的 OCI GoldenGate 连接以检索最新的 wallet 信息。

有关更多信息,请参见My Oracle Support (MOS) 文档 2911553.1

要刷新 Autonomous Database 连接,请执行以下操作:编辑并保存到 Autonomous Database(Autonomous Transaction Processing 或 Autonomous Data Warehouse)的连接。保存连接会自动下载并刷新 wallet。不需要对连接进行其他更改。

要验证:

  1. 为使用 Autonomous Database 连接的部署启动部署控制台。
  2. 在部署控制台中,打开导航菜单,然后单击配置
  3. 在“身份证明”屏幕上,观察 Autonomous Database 连接字符串。

    刷新 wallet 之前,连接字符串如下所示:

    ggadmin@(DESCRIPTION=(TRANSPORT_CONNECT_TIMEOUT=3)(CONNECT_TIMEOUT=60)(RECV_TIMEOUT=120)(retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=adb.us-phoenix-1.oraclecloud.com))(CONNECT_DATA=(COLOCATION_TAG=ogginstance)(FAILOVER_MODE=(TYPE=SESSION)(METHOD=BASIC)(OVERRIDE=TRUE))(service_name=<adb-servicename>_low.adb.oraclecloud.com))(security=(MY_WALLET_DIRECTORY=“/u02/connections/ocid1.goldengateconnection.oc1.phx.<ocid>/wallet”)(SSL_SERVER_DN_MATCH=TRUE)(ssl_server_cert_dn=“CN=adwc.uscom-east-1.oraclecloud.com,
            OU=Oracle BMCS US, O=Oracle Corporation, L=Redwood City, ST=California,
            C=US”)))

    刷新 wallet 后,连接字符串将更新为如下所示:

    ggadmin@(DESCRIPTION=(TRANSPORT_CONNECT_TIMEOUT=3)(CONNECT_TIMEOUT=60)(RECV_TIMEOUT=120)(retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=adb.us-phoenix-1.oraclecloud.com))(CONNECT_DATA=(COLOCATION_TAG=ogginstance)(FAILOVER_MODE=(TYPE=SESSION)(METHOD=BASIC)(OVERRIDE=TRUE))(service_name=<adb-servicename>_low.adb.oraclecloud.com))(security=(MY_WALLET_DIRECTORY=“/u02/connections/ocid1.goldengateconnection.oc1.phx.<ocid>/wallet”)(SSL_SERVER_DN_MATCH=TRUE)(ssl_server_dn_match=yes)))

OCI GoldenGate 部署控制台中创建 Extract 时,包含 '@' 符号的 MySQL 数据库用户名不会显示在 Credential Alias 列表中

对于 MySQL 数据库,在 OCI GoldenGate 部署控制台中创建 Extracts 时,Credential Alias 列表中将忽略包含 @ 符号的用户名。

解决方法:从列表中选择其他别名,然后在下一个屏幕上手动更新 Parameter File

网络超时影响使用专用端点的数据库连接。

如果您使用专用端点连接到数据库,则在启动或停止 Extract 进程时可能会遇到网络超时。

解决办法:您可以执行以下操作之一:

  • 应用部署详细信息页中的最新补丁程序。在 GoldenGate 下的部署信息部分中,对于版本,单击升级
  • 如果此时无法应用最新补丁程序,则可以更新连接字符串以包括 EXPIRE_TIME=1。默认情况下,Oracle GoldenGate 中可能有一个简单的连接字符串。此连接字符串需要在 Oracle GoldenGate 身份证明中更新为长连接字符串,如下所示:
    <username>@//<hostname>:1521/<service_name>
    <username> @(DESCRIPTION = (EXPIRE_TIME=1)(ADDRESS_LIST = (ADDRESS = (COMMUNITY = tcp)(PROTOCOL = TCP)(Host = <hostname>)(Port = 1521))) (CONNECT_DATA = (SERVICE_NAME = <service_name>)))

SCAN 代理不支持 TLS

虽然 OCI GoldenGate 支持 Oracle 单客户机访问名称 (Single Client Access Name,SCAN) 主机和 IP,但 SCAN 代理不支持 TLS。

解决方法:您可以使用 Database Node IP 连接到 RAC database

OCI 对象存储连接中的用户 OCID 不匹配(仅限联合用户)

如果联合用户选择在创建 OCI 对象存储连接时使用当前用户,则其 OCID 与系统选取的 OCID 不匹配。

解决方法:创建 OCI 对象存储连接时,请确保选择指定其他用户,然后输入联合用户的 OCID。

要查找用户 OCID,请单击 Oracle Cloud 控制台全局标头中的概要信息,然后选择用户名。在“用户详细信息”页的“用户信息”下,单击 OCID 的显示

部署控制台

部署控制台无法加载

如果输入的最后一部分超过 11 个字符的全限定域名 (FQDN),则部署控制台将无法加载。

解决方法:将 FQDN 的最后一部分保留在 11 个字符以内。

OCI GoldenGate 部署控制台与 Safari Web 浏览器不兼容。

使用 Safari Web 浏览器访问时,Oracle Cloud Infrastructure GoldenGate 部署控制台将无法正确显示。

解决方法:改用 Chrome 或 FireFox 浏览器。

连接到身份证明可能需要几分钟时间

尝试连接到身份证明时,在部署控制台的“配置”屏幕中,成功连接可能需要几分钟时间。刷新屏幕只会增加连接过程的时间。

解决方法:这是在 GoldenGate 构建版本 oggoracle:21.8.0.0.0_221119.1258_663 中解决的已知问题。

GoldenGate 进程

了解与 GoldenGate 进程相关的已知问题以及如何解决这些问题。

MongoDB、DocumentDB 和 Oracle JSON 集合 TLS 安全协议

如果 MongoDB Replicat、DocumentDB Replicat 或 Oracle JSON Collection 连接失败,报表文件中出现以下错误:
Error: Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

解决方法:将以下属性添加到“属性”文件中,使用连接 OCID 更新 <connection_ocid> 并保留其余属性。

jvm.bootoptions=-Djavax.net.ssl.trustStore=/u02/connections/<connection_ocid>/truststore.pkcs12 -Djavax.net.ssl.trustStorePassword=Welcome123

错误 37518857:OGGDAA GGS Snowflake 流复制错误

Snowflake 流处理程序失败,出现以下情况:Exception: java.lang.StackOverflowError thrown from the UncaughtExceptionHandler in thread "process reaper"

解决方法:将以下内容添加到复制属性文件中:
jvm.bootoptions= -Djdk.lang.processReaperUseDefaultStackSize=true

OCI GoldenGate 部署控制台无法显示定制/非默认的指定丢弃文件

默认情况下,丢弃文件遵循命名约定 <process-name>.dsc。您可以在 OCI GoldenGate 部署控制台中查看所有丢弃文件,除非您对其进行了重命名。部署控制台不显示定制的命名放弃文件。

解决方法:使用部署详细信息页上的“收集”诊断工具访问丢弃文件。

将 MongoDB Extract 中的 Trail file 与 BINARY_JSON_FORMAT 结合使用时,Replicats 失败

ReplicatExtract 参数文件中使用 MongoDB Extract 和 BINARY_JSON_FORMAT 生成的 Trail file 时,Replicat 将失败,并出现以下错误:

ERROR 2023-08-04 17:13:13.000421 [main] - Unable to decode column 0 : Input length = 1
      java.nio.charset.MalformedInputException: Input length = 1 at
      java.nio.charset.CoderResult.throwException(CoderResult.java:281) ~[?:1.8.0_311]at java.nio.charset.CharsetDecoder.decode(CharsetDecoder.java:816) ~[?:1.8.0_311] at
      oracle.goldengate.datasource.UserExitDataSource.createColumnValue(UserExitDataSource.java:1106)
      [ggdbutil-21.9.0.0.3.001.jar:21.9.0.0.3.001] Exception in thread “main”
      oracle.goldengate.util.GGException: Unable to decode column 0 : Input length = 1 at
      oracle.goldengate.datasource.UserExitDataSource.createColumnValue(UserExitDataSource.java:1203)

解决方法:从 Extract 参数中删除 BINARY_JSON_FORMAT 时,Replicat 将成功运行,并以扩展 JSON 格式表示文档。

启用 GTID 的数据库的远程更改数据捕获 Extracts 失败

如果为使用全局事务处理标识符 (Global Transaction Identifier,GTID) 的 MySQL 数据库创建启用了 "Remote" 选项的 Change Data Capture Extract 进程,则 Extract 进程将失败并报告以下错误:
ERROR   OGG-25192  Trail file '<trail name>' is remote. Only local trail allowed for this extract.

解决方法:Change Data Capture Extract 的 "Parameter file" 屏幕上,删除行 TRANLOGOPTIONS ALTLOGDEST REMOTE

有关更多信息,请参见 Using Oracle GoldenGate for MySQL

要创建 Distribution Paths 以将数据发送到 Oracle Cloud Infrastructure GoldenGate 或从其提取数据,请确保将根证书添加到证书管理或客户端 wallet

要将数据发送到 OCI GoldenGate 或从其提取数据,必须在内部部署的 Receiver ServerMarketplace Oracle GoldenGate 上分别创建 Distribution Server 路径或目标启动的路径。还必须将 OCI GoldenGate 根证书或自签名证书添加到 Oracle GoldenGate 证书管理(Oracle GoldenGate 21 c 或更高版本)或客户端 wallet (Oracle GoldenGate 19 c )。这将在 Oracle GoldenGateOCI GoldenGate 部署之间创建可信连接。在 Oracle GoldenGateOCI GoldenGate 之间,DistributionReceiver Server Paths 仅支持 WebSocket 安全 (WSS) 协议。

更改 OCI GoldenGate 根证书将导致本地或 Marketplace Oracle GoldenGateDistribution Server PathReceiver Server 上目标启动的路径失败并生成以下错误:

ERROR   OGG-10390  Oracle GoldenGate Receiver Service:  Generic error -1 noticed for endpoint
      wss://<deployment URL>:443/services/v2/sources?trail=<trail name>. Error description - SSL
      connection unexpectedly closed.

解决方法:要修复此问题,请在客户端 wallet 或 Service Manager 的“证书管理”屏幕中更新证书,以使用 OCI GoldenGate 部署控制台根证书。在某些情况下,当 OCI GoldenGate 部署的证书不是由根证书直接签名,而是由中间证书直接签名时,可能还需要添加中间 CA 证书。

了解详细信息:

当前仅支持摘要验证

使用 Oracle Cloud Infrastructure GoldenGate 作为 Distribution Path 目标时,Oracle Cloud Infrastructure GoldenGate 当前不支持基于证书的验证。

解决方法:无。

管道

了解与管道相关的已知问题以及如何解决这些问题。

ZeroETL 镜像管道应用进程失败

如果管道应用进程失败,但 OCI 日志记录中出现以下错误:
Error mapping from ADMIN.DBTOOLS$EXECUTION_HISTORY to <ADB ID>.ADMIN.DBTOOLS$EXECUTION_HISTORY.

解决方法:使用 ADMIN.* 创建排除规则,然后重新启动管道。

如果目标数据库时区文件版本低于源数据库的时区文件版本,则 Oracle Data Pump 将失败

Pipeline 选项 "Copy existing data to target database before start replication"(在开始复制之前将现有数据复制到目标数据库)使用 Oracle Data Pump。如果目标数据库的时区文件版本低于源数据库的时区文件版本,则 Oracle Data Pump 将失败。

解决方法:要解决此问题,必须升级目标数据库的时区版本。请参阅在 Autonomous Database 上管理时区文件更新