我有三个数据中心,其中有 3 个使用 Golden Gate 进行复制的 Oracle 数据库。每个数据库都有触发序列机制来生成主键。我们正在使用数据库向架构中添加一个数据中心。
我们用来避免冲突的逻辑是将序列值从 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 中生成的值是唯一的并且不会产生冲突。
序列的 DB 中的实际值。
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 - ???
如果有人可以帮助提供可用于所有序列的逻辑,那将非常有帮助。
问候,兰斯里克。