这段时间在测试ogg12版本的Coordinate 复制特性,在数据量较大时,stop 该进程,并且希望调整复制时间/或trail点 时,总是报如下的错误,现把解决过程记录如下:
- 遇到的问题:
GGSCI (ibatest) 19> alter REPLICAT rpte begin 2021-03-30 20:15:00
ERROR: Coordinated Replicat group must be synchronized before it can be altered.
- 检查
#如果开了多个并行,用通配符*方式查看具体子进程状态
info rpte*
info rpte detail
如果上述子进程有明显报错,需要再去看子进程的report,根据报错再去解决问题:
view report rpte08
- 如果所有子进程均正常,可以执行如下命令:
SYNCHRONIZE REPLICAT rpte
这个命令的作用是强制同步所有子进程检查点到一致状态。
根据官网文章介绍,是把 position 强行拉到所有子进程检查点最大的那个值,如果正常状态的话,按照我的理解,肯定会丢数据
再次去修改该复制进程时 就不会出现报错了。
- 参考资料:
Command Line Interface Reference for Oracle GoldenGate
Valid for Coordinated, Integrated, and Parallel Replicat. Use SYNCHRONIZE REPLICAT to return all of the threads of a Replicat to the same position in the trail file after an unclean shutdown. This position is the maximum checkpoint position of all of the threads, in other words, the most recent trail record processed among all of the threads. When SYNCHRONIZE REPLICAT is issued, all threads are started and allowed to process transactions until they reach the maximum checkpoint position, and then Replicat stops.
For more information about how to use SYNCHRONIZE REPLICAT to recover a coordinated Replicat after an unclean shutdown, or to enable repartitioning of data among different threads, see Administering a Coordinated Replicat Configuration.
–END–