GoldenGate SEQUENCE 同步

 最近用GoldenGate实现了Windows Oracle10g 到Linux Oracle11g的迁移。

 

记录一下遇到的一个问题:
数据同步到Oracle11g后,测试发现某些应用插入数据时报主键冲突。经调查发现是一些利用sequence

做主键的表有问题,sequence的最大值小于主键的最大值。对比源数据库和目标数据库的sequence发现,

有些sequence的值没有同步到目标数据库。

查询GoldenGate的官方文档后发现可以用FLUSH SEQUENCE的方式来同步sequence:
GGSCI>FLUSH SEQUENCE scott.seq*

Oracle GoldenGate
Windows and UNIX Reference Guide
11g Release 1 Patch Set 1 (11.1.1.1)
E21512-02
中第82页记录了这段描述:

Use FLUSH SEQUENCE immediately after you start Extract for the first time during an initia
synchronization or a re-synchronization. This command updates an Oracle sequence so
that initial redo records are available at the time that Extract starts to capture transaction
data. Normally, redo is not generated until the current cache is exhausted. The flush give
Replicat an initial start point with which to synchronize to the correct sequence value on
the target system. From then on, Extract can use the redo that is associated with the usua
cache reservation of sequence values.
The following database procedures are used by this command and normally are installed
by running the sequence.sql script when Oracle GoldenGate is installed.

Before using FLUSH SEQUENCE, issue the DBLOGIN command as the database user that has
EXECUTE privilege on the updateSequence procedure.
To use this command, the GGSCHEMA parameter must be used in the GLOBALS file to specify
the schema in which the sequence.sql procedure is installed. This can be the same schema
that is used for the Oracle GoldenGate DDL support and any other database objects that
are owned by Oracle GoldenGate.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值