首页 > 数据库 > Oracle > OGG-01705 报错处理
故障现象
传输进程启动异常,并报错如下:
用户再次之前做了如下操作:
3节点rac,ogg装在nfs目录上,三个节点挂载,主机重启后,ogg更换节点挖掘,传输进程出现如上报错。
问题分析
在goldengate中,传输进程和挖掘进程在交换数据的时候传输进程是从cache区域中去抓取数据传送到目标端(而不是等到真的写到磁盘后,这样可以提高性能)。
当意外down机时系统来不及将cache中的内容写到磁盘, 当下次启动时,前一个进程进行恢复动作,并将比文件大的一部分内容写到了下一个trail文件中(extract启动的时候会etrollover)。传输进程新建的检查点是基于cache中的信息更新的,而trail文件的大小实际上是要比检查点写的RBA小,因此出现上面的报错。进一步确认问题:
所以,这个问题的解决办法要么将进程的检查点跳到下一个trail的指定RBA,要么重新初始化。
这里我们尝试找到下个trail对应的rba
问题解决
传输进程的检查点bitrail文件大,若要手工恢复,则需要找到seqno为X的这个trail比RBA小的这部分内容在X+1这个Trail中的具体位置。有三种方法可以得到这个结果:
这次我们使用方法二,其他两种方法不做展开
方法二
1.获取变量A
或者查看报错
2022-02-08 09:52:11 ERROR OGG-01705 Oracle GoldenGate Capture for Oracle, p1_pd.prm: Input checkpoint position 45970013 for input trail file './dirdat/pd016425' is greater than the size of the file (45941215). Please consult Oracle Knowledge Management Doc ID 1138409.1. for instructions.
得到变量A: 45970013
2.获取变量B:

得到变量B: 1775
3.获取变量C:
文件系统查看:
OGG-01705 Oracle GoldenGate Capture for Oracle, p1_pd.prm: Input checkpoint position 45970013 for input trail file './dirdat/pd016425' is greater than the size of the file ( 45941215,变量C). Please consult Oracle Knowledge Management Doc ID 1138409.1. for instructions.
45970013+1775-45941215=30573
alter P1_PD extseqno 16426 extrba 30573
ps:Oracle自己在同一个问题上给我们三个方法。重点是三个方法得出的结果不一致,条件允许的话,还不如重新初始化。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29956245/viewspace-3011323/ ,如需转载,请注明出处,否则将追究法律责任。