2016-12-31 75 views
0

在Oracle金门,我是无法复制的生产序列复制数据库,自成序列中产量增加了1,在靶序列的数量由2甲骨文金门序列

越来越让我解释假设我有currval 190的序列,假设初始加载后,目标序列也有190 currval。

现在我订了一笔交易,并且序列号在生产中没有增加1,currval是191,但是当我检查了目标db ,顺序currval显示192.这个创造性的问题。需要帮助解决此问题...

回答

0

您是否按照以下过程为您的复制: 1.在oracle sqlplus中运行sequence.sql。 2.ALTER TABLE sys.seq $ ADD SUPPLEMENTAL LOG DATA(PRIMARY KEY)COLUMNS;

+0

是的,先生,我做了...我试过所有情况下,但同样的问题...如果你想审查params文件...我可以分享 –

0

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

场景1:如果复制设置是双向复制,那么序列在目标数据库上保持sequnce + 1值。这样做是为了防止从源到目标数据库发生故障转移或切换时,不需要将序列号重置为更高的值。检查您的Golden Gate DBA以获取有关如何维护序列的更多细节。

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

如:

主要站点将有序列,其是总是奇数和备用站点将始终有偶数号的序列。通过这样做,您将能够清楚地识别哪些数据库序列增加了。