ITPub博客

首页 > 数据库 > Oracle > OGG 使用原有抽取进程,新增投递进程出现的问题

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

原创 Oracle 作者:darren__chan 时间:2014-12-29 17:42:09 0 删除 编辑
原来在集成平台到查询库的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即可恢复正常复制。




来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29863023/viewspace-1384084/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: oracle 锁 简述
请登录后发表评论 登录
全部评论
一思尚存,此志不懈

注册时间:2014-09-09

  • 博文量
    210
  • 访问量
    1344285