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;
现在我配置了由集成平台到分发库的链路,具体做法是在集成平台库增加一个投递分发库的进程,现在所有的进程都启动正常。但是发现并不能同步操作,主要是在投递进程并未同步响应。。。
除了进程名,进程文件名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即可恢复正常复制