【问题标题】:Golden Gate replication from primary to secondary database, WARNING OGG-01154 Oracle GoldenGate Delivery for Oracle, rgg1ab.prm: SQL error 1403从主数据库到辅助数据库的 Golden Gate 复制,警告 OGG-01154 Oracle GoldenGate Delivery for Oracle,rgg1ab.prm:SQL 错误 1403
【发布时间】:2015-10-16 04:54:12
【问题描述】:

我正在使用金门将数据从主要复制到次要。我已在主数据库中插入记录,但复制异常并显示错误消息

警告 OGG-01154 Oracle GoldenGate Delivery for Oracle, rgg1ab.prm:SQL 错误 1403 将 primaryDB_GG1.TB_myTableName 映射到 secondaryDB.TB_myTableName OCI 错误 ORA-01403:未找到数据,SQL

更新语句在 where 子句中包含表中的所有列。 而 where 子句中有这么多列的应用程序中没有这样的更新语句。

你能帮忙解决这个问题吗?为什么 Golden Gate 复制在复制时将插入转换为更新。

【问题讨论】:

标签: oracle database-replication


【解决方案1】:

我知道这很老了,但是如果您还没有找到解决方案,请尽可能提供您的 prm 文件。您可以在其中的一个参数将插入转换为基于目标数据库中已经存在的 PK 的更新。可能设置了句柄碰撞或 CDR。

【讨论】:

    【解决方案2】:

    对于复制,您可能已经在源数据库中启用了事务日志。现在,您需要从 ggsci 运行:

    "添加 TRANDATA 模式名.table_name, COLS(...)"

    在 COLS 部分,您需要提及可用于标识唯一记录的 Column/Columns(逗号分隔)(如果存在,您可以提及唯一索引列)。如果表上没有唯一索引,并且您不确定哪些列可用于唯一标识行,则只需从 ggsci 运行:

    “添加 TRANDATA 模式名.表名”

    然后 Golden Gate 将开始记录所有必要的列以唯一标识行。 注意:这应该在您开始复制过程之前完成。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-08
      • 1970-01-01
      • 2023-04-10
      • 1970-01-01
      • 2013-09-02
      • 1970-01-01
      相关资源
      最近更新 更多