基本要素
最近用户反馈部署在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环境下,由于某个节点意外关闭,其节点上的业务会回退,产生归档日志,但是该节点又无法访问,因此会将回退产生的归档日志生成到其他节点上,这就是常见的归档日志飘移。