太奇怪了!99%的人没见过的Oracle故障:网络恢复后,集群的监听和vip无法启动

故障描述

15:46操作系统日志出现net4、net5网卡down,15:53分钟的网络恢复。网络中断是由于db汇聚交换机出现了问题。 image.png

网络恢复后,节点1的监听和vip无法启动。 image.png

故障分析

查看grid alert日志可以看到监听资源确实没有正常启动。 image.png 由于监听资源是crs的Oragent_grid负责,查看日志报ora.ons stop后,监听状态异常。Ons跟listener没有依赖关系,他们都依赖ora.net1.work资源。 image.png

以下是listener、vip和ons的依赖关系,都是跟ora.net1.work相关。 image.png image.png image.png image.png

手工尝试启动vip,发现报ora.net1.network无法启动。 image.png image.png 实际上集群显示ora.net1.network是正常的,这里就陷入了矛盾之中。 image.png

排查下是不是由于子网掩码不一致导致的ora.net1.network的问题。 image.png

ffffff00就是255.255.255.0,跟ocrdump中的subnet保持一致。

既然是报ora.net1.network不正常,我们就来看下orarootagent_root的日志。

image.pngimage.png

日志报错本地的ioctl os error 6失败后,检查ipmp0无效。 OS error code 6: No such device or address

What is ioctl?   ioctl()函数是设备驱动程序中对设备的I/O通道进行管理的函数。所谓对I/O通道进行管理,就是对设备的一些特性进行控制。   ioctl函数是文件结构中的一个属性分量,就是说如果你的驱动程序提供了对ioctl的支持,用户就可以在用户程序中使用ioctl函数来控制设备的I/O通道。。

根据官方文档Intermittently VIP Failback does not work after the Network Connection is Restored 文档 ID 1992370.1中描述,Network中断并且后面恢复了, 调用ioctl fails导致vip自动恢复失败。由于监听启动是依赖vip,所以listener也无法启动,跟故障相匹配。 image.png

不过bug 19126172在数据库已经修复。

另外一篇官方文档:Solaris: VIP or HAIP can fail if ioctl() reports issues on a different non-related network interface 文档 ID 2106693.1中描述,如果在不同的网络接口上找到 ioctl(),则检查操作可能会失败,跟此次故障100%匹配。 image.png

解决方案

1、 需要安装需要安装GRID INFRASTRUCTURE PATCH SET UPDATE 11.2.0.4.220419 完全修复。 image.png

2、 临时解决办法:重启两个节点的集群,再手工启动相关资源。

本文由 mdnice 多平台发布

  • 23
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值