OGG 使用原有抽取进程,新增投递进程出现的问题

OGG 使用原有抽取进程,新增投递进程出现的问题


原来在集成平台到查询库的ogg链路,已经用了很多天且同步正常。
现在我配置了由集成平台到分发库的链路,具体做法是在集成平台库增加一个投递分发库的进程,现在所有的进程都启动正常。但是发现并不能同步操作,主要是在投递进程并未同步响应。。。
除了进程名,进程文件名ip我都是copy到查询库进程的参数。

查看投递进程的report 发现唯一值得看的是  OGG-01052 No recovery is required for target file ./dirdat/***, at RBA 0 (file not opened).这个提示,但还是找不到解决方法;

后来咨询了大神,原来我新增投递进程,得手工修改投递进程队列文件号 应该与 抽取进程一致;

info extract ESB_PZ7 查询seqno;
 alter extract PSB_PZ7,extseqno 861, extrba 0     修改seqno

------------------------------------------------------------------------------------------------------------

此类型解决方法参考,以下转载

① 停止所有Data Pump和Replicat,针对所有的Extract记录其Write Checkpoint的队列Seqno。

② 对于每个Extract向下滚动一个队列:

示例9-6:

ALTER EXTRACT [name], ETROLLOVER 

启动Extract查看是否滚动到了下一个队列,记录其新队列seqno,应当是旧队列号+1。

③ 修改Data Pump从新的队列开始传输:

示例9-7:
ALTER EXTRACT [pump_name], EXTSEQNO ##### EXTRBA 0  

重启Data Pump查看是否能够重启成功并从新的队列传输。

④ 修改Replicat参数文件,加入或者打开HANDLECOLLISIONS,如果有GROUPTRANSOPS和MAXTRANSOPS请注释掉,启动Replicat,观察其是否能够读取新传输过来的队列如Replicat无法自动滚动到下一个队列,需要通过如下命令手工滚动:

示例9-8:

alter replicat [replicat_name], EXTSEQNO ##### EXTRBA 0 

等待Replicat处理到结尾没有延迟时,可以关闭HANDLECOLLISIONS和恢复原来的GROUPTRANSOPS和MAXTRANSOPS参数。

⑤ 重新启动Replicat即可恢复正常复制

原文地址:https://www.cnblogs.com/yaoyangding/p/15710447.html