如何识别序列号以在4个数据中心内生成唯一值

时间:2019-02-01 13:48:09

标签: java python logic sequence programming-pearls

我有三个数据中心,其中有3个使用Golden Gate复制的Oracle数据库。每个数据库都有触发序列机制来生成主键。我们正在使用DB向体系结构中添加一个数据中心。

我们用来避免冲突的逻辑是将序列值从3增加4,以便在使用Golden Gate复制事务时不产生冲突。

例如

DB1 - SEQUENCE_1 - START WITH 1 - INCREMENT BY 4 - Next value - 5
DB2 - SEQUENCE_1 - START WITH 2 - INCREMENT BY 4 - Next value - 6
DB3 - SEQUENCE_1 - START WITH 3 - INCREMENT BY 4 - Next value - 7
DB4 - SEQUENCE_1 - START WITH 4 - INCREMENT BY 4 - Next value - 8

问题陈述-克隆DB4之后,我需要找出我应该从其开始的确切数字,这样DB4中生成的值才是唯一的,并且不会产生冲突。

数据库中序列的实际值。

DB1 - SEQUENCE_1 - START WITH 33479805 - INCREMENT BY 4 - Next value - 33479809
DB2 - SEQUENCE_1 - START WITH 33318420 - INCREMENT BY 4 - Next value - 33318424
DB3 - SEQUENCE_1 - START WITH 47020627 - INCREMENT BY 4 - Next value - 47020631
DB4 - SEQUENCE_1 - START WITH ???????? - INCREMENT BY 4 - Next value - ???

如果有人可以提供可用于所有序列的逻辑帮助,将非常有帮助。

关于, LANCERIQUE。

0 个答案:

没有答案