一、目标: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. STM32—驱动GY85-IMU模块

    GY85是一个惯性测量模块,内部集成了三轴加速度计.三轴陀螺仪.电子罗盘.气压传感器等芯片,用于测量和报告设备速度.方向.重力,模块可以将加速度计.陀螺仪.电子罗盘等传感器的数据进行综合,在上位机可以 ...

  2. 5 秒克隆声音「GitHub 热点速览 v.21.34」

    作者:HelloGitHub-小鱼干 本周特推的 2 个项目都很好用,Realtime-Voice-Clone-Chinese 能让你无需开启变声音,即可获得一个特定声音的语音.这个声音可以是你朋友的 ...

  3. noip13

    T1 一开始直接丢了个暴力走人50pts,然后开始打表找规律,啥也没找着,最后二十分钟突然看出来了什么,把 \(f_{n,m}\)式子列了一下,发现常数项没啥规律,最后五分钟,突然闪过一丝灵感,但是是 ...

  4. APIO 2007 动物园 题解

    链接题面 看清楚找到小数据范围,第一维表示遍历到的栅栏,第二维是五位状态 先预处理每个状态会使多少小朋友高兴 方程是  f[i][j]=max(f[(i&((1<<4)-1))&l ...

  5. pytorch之对预训练的bert进行剪枝

    大体过程 对层数进行剪枝 1.加载预训练的模型: 2.提取所需要层的权重,并对其进行重命名.比如我们想要第0层和第11层的权重,那么需要将第11层的权重保留下来并且重命名为第1层的名字: 3.更改模型 ...

  6. open62541(opcua)传输延迟探索小记

    缘起 将open62541作为中间件使用代替自定义数据的RPC,client通过订阅valueChange来接收数据.使用时发现有一些问题: 前后两次产生的数据相同时,不会触发valueChange ...

  7. vue + iview 怎样在vue项目下添加ESLint

    参考:https://segmentfault.com/a/1190000012019019?utm_source=tag-newest 使用iview框架的MenuGroup标签,vscode报红, ...

  8. mzy对于枚举的理解

    关于enum,其实就是简化了的class,功能就是提供一个个独立的.特定含义的常量! 在JDK5.0之前我们想模拟enum的功能,只能使用自定义类的形式: 1.首先私有化构造方法,让外部不能new对象 ...

  9. 回顾games101中的SSAA和MSAA

    回顾games101中的AA(抗锯齿) 前言 善于进行课后总结,可以更加巩固自己的知识和具体细节 锯齿(走样)产生的原因 本质上,在光栅化阶段中,用有限离散的数据想表示连续的(类似三角形的某一边),就 ...

  10. 腾讯云 TKE Everywhere 特性发布,用户可在自有基础设施中托管 K8s 服务

    作者 孔令飞,腾讯云资深工程师,拥有大规模 Kubernetes 集群.微服务的研发和架构经验,目前专注于云原生混合云领域的基础架构开发. 朱翔,腾讯云容器服务高级产品经理,目前负责云原生混合云产品方 ...