2015-10-16 54 views
1

我正在使用金色門將數據從主數據複製到次要數據庫。我已插入記錄的主數據庫,但複製錯誤消息從主數據庫到輔助數據庫的金色門複製警告OGG-01154 Oracle GoldenGate Delivery for Oracle,rgg1ab.prm:SQL錯誤1403

警告OGG-01154的Oracle GoldenGate交付用於Oracle,rgg1ab.prm abdends:SQL錯誤1403映射到primaryDB_GG1.TB_myTableName OCI secondaryDB.TB_myTableName錯誤ORA- 01403:沒有找到,SQL < UPDATE數據......

更新語句的where子句中的所有表列。 雖然在應用程序中沒有這樣的更新語句,但where子句中有很多列。

你能幫忙解決這個問題。爲什麼Golden Gate複製在複製時將插入轉換爲更新。

+0

我認爲這會更適合http://dba.stackexchange.com –

回答

0

我知道這很古老,但如果您還沒有找到解決方案,請提供您的prm文件,如果可以的話。您可以在那裏根據目標數據庫中已存在的PK將插入轉換爲更新。手動碰撞或CDR可能已設置。

0

對於複製,您可能已經在源數據庫中啓用了事務日誌。現在,你需要從GGSCI運行:

「ADD TRANDATA schema_name.table_name,COLS(......)」

在COLS一部分,你需要提列/列(逗號分離),可用於識別唯一記錄(如果存在,您可以提及唯一的索引列)。如果在表上沒有唯一索引,你是不知道的,可以使用哪些列唯一標識行,那麼就從GGSCI運行:

「ADD TRANDATA schema_name.table_name」

然後金門將開始記錄所有必要的列以唯一標識一行。 注意:這應該在開始複製過程之前完成。