基本要素
最近用户反馈部署在RAC
节点1
的OGG
的抓取进程已经停止运行几天了,希望排查下原因,让其恢复正常。
问题分析
查看日志
通过info all
命令,查看当前抓取进程的状态,如下,状态为ABENDED
,这时我们最简单的方式就是查看OGG
的错误日志信息,该信息文件名为ggserr.log,
我们看下该错误日志里面的相关错误提示,如下:
这里报OGG-01028
错误,可以看到提示没明确,找不到/u01/app/oracle/archive2/2_32522_828663513.dbf
归档日志,因为我们这里是RAC
环境,采用NFS
的方式,把2
号节点的归档目录挂载到1
号节点的/u01/app/oracle/archive2/
目录,因此该路径下应该是2
号节点的归档日志。
我们查看了目录确实没有,因为是RAC
节点,我们在1
号节点去看下,发现该日志文件在1
号节点,这是由于用户最近几天在做服务器重启,由于VIP
的跳跃,导致本来应该归档在2
号节点的日志,归档在了1
号节点,因此我们只需要把该日志拷贝到2
号节点。
解决过程
步骤一:拷贝日志
我们把在1
号节点里面所有本应该归档到2
号节点的日志,全部拷贝回2
号节点,用SCP
命令远程拷贝,如下:
[oracle@rac01 archive]$ scp2_32* 192.168.30.3:/u01/app/oracle/archive
2_32522_828663513.dbf 100% 10MB 10.0MB/s 00:01
2_32523_828663513.dbf 100% 1024 1.0KB/s 00:00
2_32540_828663513.dbf 100% 51MB 25.4MB/s 00:02
拷贝完后,再次尝试启动抓去进程,正常启动
关键知识点
RAC归档日志的飘移:RAC环境下,由于某个节点意外关闭,其节点上的业务会回退,产生归档日志,但是该节点又无法访问,因此会将回退产生的归档日志生成到其他节点上,这就是常见的归档日志飘移。