0

在 Oracle Golden Gate 中,我无法将生产序列复制到复制数据库,因为随着生产中序列增加 1,目标中的序列计数增加 2。

让我详细说明一下,假设我有 currval 190 的序列,假设在初始加载后,目标序列也有 currval 190。

现在我预订了一个交易,并且序列在生产中没有增加 1,currval 是 191,但是当我签入目标数据库时,序列 currval 显示 192。这个创建问题。需要帮助解决这个问题...

4

2 回答 2

0

您是否按照以下步骤进行复制: 1. 在 oracle sqlplus 中运行 sequence.sql。2.ALTER TABLE sys.seq$ 添加补充日志数据(主键)列;

于 2017-01-01T07:35:39.920 回答
0

有几种情况会发生这种情况。

场景 1:如果复制设置是双向复制,则序列在目标数据库上保持为 sequnce+1 值。这样做是为了万一必须从源数据库到目标数据库发生故障转移或切换,则无需将序列号重置为更高的值。请咨询您的 Golden Gate DBA,以获取有关如何维护序列的更多详细信息。

场景 2:在具有冲突检测和解决序列的双向复制中,维护序列以便可以唯一标识它们。

例如:

主站点将具有始终为奇数的序列,而备用站点将始终具有偶数的序列。通过这样做,您将能够清楚地识别哪个数据库序列增加了。

于 2017-01-31T21:29:59.360 回答