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

本文主要是介绍太奇怪了!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 多平台发布

这篇关于太奇怪了!99%的人没见过的Oracle故障:网络恢复后,集群的监听和vip无法启动的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/927280

相关文章

解决SpringBoot启动报错:Failed to load property source from location 'classpath:/application.yml'

《解决SpringBoot启动报错:Failedtoloadpropertysourcefromlocationclasspath:/application.yml问题》这篇文章主要介绍... 目录在启动SpringBoot项目时报如下错误原因可能是1.yml中语法错误2.yml文件格式是GBK总结在启动S

如何解决mmcv无法安装或安装之后报错问题

《如何解决mmcv无法安装或安装之后报错问题》:本文主要介绍如何解决mmcv无法安装或安装之后报错问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录mmcv无法安装或安装之后报错问题1.当我们运行YOwww.chinasem.cnLO时遇到2.找到下图所示这里3.

Redis分片集群的实现

《Redis分片集群的实现》Redis分片集群是一种将Redis数据库分散到多个节点上的方式,以提供更高的性能和可伸缩性,本文主要介绍了Redis分片集群的实现,具有一定的参考价值,感兴趣的可以了解一... 目录1. Redis Cluster的核心概念哈希槽(Hash Slots)主从复制与故障转移2.

Oracle数据库常见字段类型大全以及超详细解析

《Oracle数据库常见字段类型大全以及超详细解析》在Oracle数据库中查询特定表的字段个数通常需要使用SQL语句来完成,:本文主要介绍Oracle数据库常见字段类型大全以及超详细解析,文中通过... 目录前言一、字符类型(Character)1、CHAR:定长字符数据类型2、VARCHAR2:变长字符数

Linux系统配置NAT网络模式的详细步骤(附图文)

《Linux系统配置NAT网络模式的详细步骤(附图文)》本文详细指导如何在VMware环境下配置NAT网络模式,包括设置主机和虚拟机的IP地址、网关,以及针对Linux和Windows系统的具体步骤,... 目录一、配置NAT网络模式二、设置虚拟机交换机网关2.1 打开虚拟机2.2 管理员授权2.3 设置子

揭秘Python Socket网络编程的7种硬核用法

《揭秘PythonSocket网络编程的7种硬核用法》Socket不仅能做聊天室,还能干一大堆硬核操作,这篇文章就带大家看看Python网络编程的7种超实用玩法,感兴趣的小伙伴可以跟随小编一起... 目录1.端口扫描器:探测开放端口2.简易 HTTP 服务器:10 秒搭个网页3.局域网游戏:多人联机对战4.

SpringBoot启动报错的11个高频问题排查与解决终极指南

《SpringBoot启动报错的11个高频问题排查与解决终极指南》这篇文章主要为大家详细介绍了SpringBoot启动报错的11个高频问题的排查与解决,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一... 目录1. 依赖冲突:NoSuchMethodError 的终极解法2. Bean注入失败:No qu

SpringBoot使用OkHttp完成高效网络请求详解

《SpringBoot使用OkHttp完成高效网络请求详解》OkHttp是一个高效的HTTP客户端,支持同步和异步请求,且具备自动处理cookie、缓存和连接池等高级功能,下面我们来看看SpringB... 目录一、OkHttp 简介二、在 Spring Boot 中集成 OkHttp三、封装 OkHttp

使用Python实现网络设备配置备份与恢复

《使用Python实现网络设备配置备份与恢复》网络设备配置备份与恢复在网络安全管理中起着至关重要的作用,本文为大家介绍了如何通过Python实现网络设备配置备份与恢复,需要的可以参考下... 目录一、网络设备配置备份与恢复的概念与重要性二、网络设备配置备份与恢复的分类三、python网络设备配置备份与恢复实

电脑win32spl.dll文件丢失咋办? win32spl.dll丢失无法连接打印机修复技巧

《电脑win32spl.dll文件丢失咋办?win32spl.dll丢失无法连接打印机修复技巧》电脑突然提示win32spl.dll文件丢失,打印机死活连不上,今天就来给大家详细讲解一下这个问题的解... 不知道大家在使用电脑的时候是否遇到过关于win32spl.dll文件丢失的问题,win32spl.dl