从主数据库到辅助数据库的金门复制,警告OGG-01154 Oracle GoldenGate Delivery for Oracle,rgg1ab.prm:SQL错误1403

从主数据库到辅助数据库的金门复制,警告OGG-01154 Oracle GoldenGate Delivery for Oracle,rgg1ab.prm:SQL错误1403,oracle,database-replication,Oracle,Database Replication,我正在使用金门将数据从一级复制到二级。我已在主数据库中插入记录,但复制结束时显示错误消息 警告OGG-01154 Oracle GoldenGate Delivery for Oracle,rgg1ab.prm:SQL错误1403将primaryDB_GG1.TB_myTableName映射到secondaryDB.TB_myTableName OCI错误ORA-01403:未找到数据,SQL

我正在使用金门将数据从一级复制到二级。我已在主数据库中插入记录,但复制结束时显示错误消息

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

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


你能在这个问题上帮忙吗。为什么金门复制将插入转换为复制时更新。

我知道这一点非常古老,但如果您还没有找到解决方案,请尽可能提供您的prm文件。您可以使用其中的一个参数,该参数根据目标数据库中已经存在的PK将插入转换为更新。很可能设置了handlecollisions或CDR。

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

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

添加TRANDATA架构\u名称。表\u名称,COLS(…)

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

“添加TRANDATA架构\u名称。表\u名称”

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

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

添加TRANDATA架构\u名称。表\u名称,COLS(…)

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

“添加TRANDATA架构\u名称。表\u名称”

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

我认为这将更适合我认为这将更适合