一、目标:Oracle Haip 启动报错

需求:日常运维过程中,已经遇到两次由于HAIP引发的问题,特此进行记录。

本次问题是看着大佬-李海清操作,整完了记录一下,上一次HAIP折腾了4个小时。

Oracle Haip是给Oracle 提供私网的高可用,存在多个私网网卡的情况下,会有多个HAIP,这样某个私网网卡down,并不影响整个RAC集群的通信。

二、HAIP启动失败排查思路

可能性很多,那么怎么排查定位问题。

参考

https://blog.csdn.net/m0_38048955/article/details/115345414
https://www.cnblogs.com/jyzhao/p/7686243.html

1) 心跳网卡异常

2)  多播工作机制异常

3)  防火墙等原因

4)  Oracle bug

问题时间出现在初始化安装、日常维护,这样容易找到差异点。

三、HAIP案例

3.1 网络策略导致HAIP 无法通讯

这个之前发过博客

https://www.cnblogs.com/lvcha001/p/12155042.html

小结一下:
1.安装11g R2 RAC时,节点1安装GI没问题,HAIP可以启动;
2.安装节点2GI时,HAIP启动失败;
3.通过上述情况基本可以定位为两个节点的HAIP无法通讯
4.通过ping 判断节点1->节点2 haip网络不通;
5.客户网络工程师确认无法开通HAIP

原文链接:https://blog.csdn.net/evils798/article/details/27248263 操作,为私网配置网关,重启网络服务,重新安装(建议可以尝试上述链接,指定IP的网卡路由) 重新配置私网网关地址之后,重新安装RAC ,再次执行root.sh 报错,本次169.254 的Oracle haip地址使用的是eth1的私网网卡地址,但是发现 节点1无法ping通节点2的haip地址。 ASM on Non-First Node (Second or Others) Fails to Start: PMON (ospid: nnnn): terminating the instance due to error 481 (Doc ID 1383737.1) 并且,grid$sqlplus / as sysasm SQL>startup 报错如上述,还是私网HAIP不通的问题。 Case5. HAIP is up on all nodes and route info is presented but HAIP is not pingable
Symptom:
HAIP is presented on both nodes and route information is also presented, but both nodes can not ping or traceroute against the other node HAIP. ······ Solution: For Openstack Cloud implementation, engage system admin to create another neutron port to map link-local traffic. For other environment,
engage SysAdmin/NetworkAdmin to review routing/network setup. 解决方案是让网络工程师调整,但是云厂商很难具体开通HAIP之间的连接。 本次选择禁用HAIP 服务,达到云环境安装目的。

3.2 AIX环境更换私网网卡后bpf device设备未更新导致Haip服务启动失败

问题表象,RAC 11.2.0.4 正常使用,增加新的私网网卡后,删除原来的私网网卡后,重启集群CRS. haip 节点1启动失败,此时节点2集群出于关闭状态,不存在网络交互的问题。
手工启动haip服务

crsctl start res ora.cluster_interconnect.haip -init

启动失败,观察日志,匹配如下MOS bug ,oracle bug建议使用root 执行命令进行刷新!刷新后,问题解决。


已知问题:Grid Infrastructure Redundant Interconnect 和 ora.cluster_interconnect.haip(文档 ID 1640865.1)
2012-04-21 12:36:43.951: [ USRTHRD][2572] {0:0:2} (null) category: -2, operation: SETIF, loc: bpfopen:21,o, OS error: 6, other: dev /dev/bpf0, ifr en2
Solution/Workaround:
It's known on AIX and Solaris that command executed via sudo etc may not have full root environment, which could cause HAIP startup failure.
The solution is to obtain and apply patch 16445624 on AIX.
The workaround is to execute root script (root.sh or rootupgrade.sh) as real root user directly.
If root script already failed, try one or all of the following:
- reboot the node
- execute "/usr/sbin/tcpdump -D" as root user, if the timestamp of the bpf device didn't get updated, delete the device and re-run the same "tcpdump -D" command
Before re-running root script, verify whether the following exists and the timestamp is updated
ls -ltr /dev/bpf*
cr-------- 1 root system 42, 0 Oct 03 10:32 /dev/bpf0
.. Grid Infrastructure Redundant Interconnect 和 ora.cluster_interconnect.haip(文档 ID 1210883.1)
https://blog.csdn.net/m0_38048955/article/details/115345414
对于心跳网卡异常,如果只有一块心跳网卡,那么ping其他的ip就可以进行验证了,这一点很容易排除。
对于多播的问题,可以通过Oracle提供的mcasttest.pl脚本进行检测(请参考Grid Infrastructure Startup During Patching, Install or Upgrade May Fail
Due to Multicasting Requirement (ID 1212703.1)

Oracle Haip无法启动问题学习的更多相关文章

  1. <Oracle Database>数据库启动与关闭

    启动和关闭Oracle数据库 要启动和关闭数据库,必须要以具有Oracle 管理员权限的用户登陆,通常也就是以具有SYSDBA权限的用户登陆.一般我们常用INTERNAL用户来启动和关闭数据库(INT ...

  2. Oracle Database 11g Express Edition学习笔记

    修改字符集 使用用户system,通过sqlplus程序连接到Oracle数据库,输入以下命令,查看字符集: SQL> select userenv('language') from dual; ...

  3. Oracle 10g RAC启动与关闭命令

    一. 检查共享设备 一般情况下, 存放OCR 和 Voting Disk 的OCFS2 或者raw 都是自动启动的. 如果他们没有启动,RAC 肯定是启动不了的. 1.1 如果使用ocfs2的,检查o ...

  4. Linux——oracle数据库实例启动关闭(转)

    -->Oracle 数据库实例启动关闭过程 --================================ [root@robinson ~]# su - oracle --查看未启动实例 ...

  5. 深刻理解Oracle数据库的启动和关闭 .

    Oracle数据库提供了几种不同的数据库启动和关闭方式,本文将详细介绍这些启动和关闭方式之间的区别以及它们各自不同的功能. 一.启动和关闭Oracle数据库 对于大多数Oracle DBA来说,启动和 ...

  6. Oracle数据库的启动和关闭

    深刻理解Oracle数据库的启动和关闭 Oracle数据库提供了几种不同的数据库启动和关闭方式,本文将详细介绍这些启动和关闭方式之间的区别以及它们各自不同的功能. 一.启动和关闭Oracle数据库 对 ...

  7. Oracle数据库的启动和关闭实例

    在开始了解oracle数据库的命令之前,先来看一个东西:SQL*PLUS(sqlplus) Oracle的sql*plus是与oracle进行交互的客户端工具.在sql*plus中,可以运行sql*p ...

  8. undo丢失恢复异常恢复,运维DBA反映Oracle数据库无法启动报错ORA-01157 ORA-01110,分析原因为Oracle数据库坏块导致

    本文转自 惜纷飞 大师. 模拟基表事务未提交数据库crash,undo丢失恢复异常恢复,运维DBA反映Oracle数据库无法启动报错ORA-01157 ORA-01110,分析原因为Oracle数据库 ...

  9. oracle监听,数据库,oracle服务器的启动和停用

    一.oracle监听,数据库,oracle服务器的启动和停用 使用root用户登录:切换用户su – root/root操作系统,一般只有root用户才有权限去操作系统中安装的oracle数据库服务器 ...

随机推荐

  1. Java入门姿势【面向对象3】构造方法及其重载_方法的调用

    上次我为大家写出啦"定义类与创建对象_了解局部变量",上篇文章代码可能较多,如没有了解透彻的话请打开下方文章在进行观看一下哦!! [Java入门姿势[面向对象2]定义类与创建对象_ ...

  2. 51单片机—LCD1602显示模块

    文章目录 - 什么是LCD1602 - 如何操作LCD1602 - 上代码 - 什么是LCD1602 LCD:Liquid Crystal Display-液晶显示器,简称LCD,其主要显示原理是以电 ...

  3. kubebuilder实战之一:准备工作kubebuilder实战之一:准备工作

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  4. Windows安装Svn客户端

    一.下载程序 官网地址,选择最新64位下载. 下载完成 二.安装过程 点击下一步 点击下一步 选择安装目录 点击安装 安装完成 三.修改中文 下载中文包 下载完成 点击下一步 安装完成 点击设置 选择 ...

  5. 迭代器 与 foreach 的区别

    迭代器的常见运用--Eg:有一组数据 需要对每个符合条件的数据 进行记录 static void Main() { int[] s = new int[] { 1, 2, 8 }; foreach ( ...

  6. layui关闭弹出框

    layer.close(index) - 关闭特定层 //当你想关闭当前页的某个层时 var index = layer.open(); var index = layer.alert(); var ...

  7. .net core signalR 全局异常处理

    Hub的异常拦截 { } { } *:first-child { } *:last-child { } { } { } { } { } { } { } { } { } { } h6:first-chi ...

  8. Flink Streaming状态处理(Working with State)

    参考来源: https://www.jianshu.com/p/6ed0ef5e2b74 https://blog.csdn.net/Fenggms/article/details/102855159 ...

  9. ubuntu 2018 apt 代理proxy设置

    永久设置 打开代理文件,好像默认没有,98proxy是自己新建的 sudo gedit /etc/apt/apt.conf.d/98proxy 在打开的文件中输入如下内容,其中username和pas ...

  10. MySQL大数据迁移备份

    MySQL迁移通常使用的有三种方法:   1.数据库直接导出,拷贝文件到新服务器,在新服务器上导入. 2.使用第三方迁移工具. 3.数据文件和库表结构文件直接拷贝到新服务器,挂载到同样配置的MySQL ...