⚠️此合并操作需要进程内无长事物同步时进行,如进程有延迟,需要等待长事物同步完毕后操作,且合并操作会有重复操作,目标端会出现重复数据。
1. stop <抽取进程>
GGSCI>stop <extname>
2. 记录源端需要合并的抽取进程的最早时间和产生的trail文件编号。
GGSCI>info <extname> detail
3. 抽取进程执行etrollover。
GGSCI>alter extract <extname> etrollover
4. 确定对应的投递进程无延迟时,停投递进程,更新投递进程同步的源端新产生的trail文件,并且此投递进程做etrollover。
GGSCI>stop <datapump>
GGSCI>alter <datapump> extseqno <newsourcetrail> extrba 0
GGSCI>alter <datapump> etrollover
GGSCI>start <datapump>
5. 新加替代抽取进程
GGSCI>add extract <extname>,tranlog,begin <步骤2记录的最小时间>,thread <>
GGSCI>add exttrail <计划新产生的sourcetrail文件>,extract <extname>,megabytes 200
6. 重新定义投递进程需要投递的sourcetrail
GGSCI>stop <datapump>
GGSCI>alter <datapump>,exttrailsource <>
GGSCI>start <datapump>
7. 修改mgr中sourcetrail文件的删除策略,及时联系备份部门修改trail文件的保留策略。
⚠️'<>'处的内容做相应替换
⚠️合并操作完成后应重点观察目标端的日志,此次实施后,目标端的复制进程无法自动跳转trail文件,根据ggserr.log中的warning报错,重制解析点后,整个同步链路恢复正常。
⚠️可能存在重复数据,在目标端REPLICAT进程内增加'HANDLECOLLISIONS'
参考文档:oracle文档文档 ID 1517982.1