一、目标: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. noip模拟8

    T1 星际旅行 题目描述 一个图存在欧拉路的条件是有\(2/0\)个点有奇数个出度,把一条无向边拆成两条,所以可以选择拆两个自环.一个自环一条边.连接同一个点的边. 先判断图是否是边联通,不联通则输出 ...

  2. ubunt中,使用命令su命令切换root账户,提示认证失败

    报错截图: 解决方法: sudo passwd 重新设置root账户的密码,确认root账户的密码(再次输入密码),然后su ,输入root账户刚刚设置的密码即可切入到root账户:

  3. [ES6深度解析]13:let const

    当Brendan Eich在1995年设计了JavaScript的第一个版本时,他犯了很多错误,包括从那时起就成为该语言一部分的一些错误,比如Date对象和当你不小心将它们相乘时对象会自动转换为NaN ...

  4. [C#]c#中数据的同步加锁机制 的几种方法

    一,锁定机制最简单的做法就是使用锁定关键字Lock.Lock关键字英文中就是锁的意思,顾名思义就是为操作加上一把锁.它的语法如下: lock(lockObj){//加锁的代码段,一般是操作共同资源的代 ...

  5. Java环境变量(Env)和系统属性(Property)详解

    环境变量Env 使用System.getenv()获取系统的所有环境变量的Map,注意它是一个UnmodifiableCollection,是一个只读视图 环境变量并不提供set方法,即没有Syste ...

  6. 事务种类jdbc,Hibernate,JTA事务

    JDBC事务 String URL="jdbc:sqlserver://localhost:1433;databaseName=test2"; String USER=" ...

  7. mybatis插值,数据提交事务回滚数据库值为空

    mybatis插值,数据提交事务回滚数据库值为空 通过sql日志查看sql为:INSERT INTO `quanxian`.`user` ( phone, email, password, times ...

  8. C# - Timer 实现跑马灯

  9. vue JS获取当前时间并格式化 ( 前端小细节,大进步 )

    JS // 获取并且格式化时间     formatter (thistime, fmt) {       let $this = new Date(thistime)       let o = { ...

  10. 痞子衡嵌入式:MCUXpresso IDE下工程链接文件配置管理与自动生成机制

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是MCUXpresso IDE下工程链接文件配置管理与自动生成机制. 痞子衡在 2018 年初写过一个专题 <嵌入式开发文件系列&g ...