分类: Oracle
2011-09-17 15:13:17
Oracle RAC的心跳线断重启
主机环境:
P5 570 2台 每台机器配备了2块光纤网卡
AIX 5.3.0.5-00
HACMP 5.2 (2007年4月的补丁)
Oracle 10.2.0.3+RAC
每台机器的2块光线网卡分别用作Oralce 的服务地址和Oracle RAC的心跳线地址
用了一块电口网卡做HACMP的私有网卡
用RS232做HACMP心跳
出现的现象:
今天凌晨,由于机房里的网线太乱了,所以决定半夜理线。
凌晨1点40分,DB1的服务地址、RAC心跳地址的2条网线拔掉了;DB2的RAC心跳地址的网线也同时拔掉了
凌晨1点50分DB2节点的CRS服务停掉了;
凌晨1点54分DB2节点自动shutdown并重新启动。
等我理完线才发现DB2自动重启了, 于是将HA启动,CRS启动。一切正常,errpt的日志里只有网卡的报错,没有其他异常。
从始至终,两台机器的HACMP的私有网络网线没有断,DB2的Oracle的服务地址的网卡网线没有断
问题:
1、RAC的心跳线断了以后,DB2节点自动重启的现象正常吗?
2、为什么是DB2的实例停了,为什么不是DB1?
3、为什么会自动重启呢?
回答:
1、心跳网络都都断了,肯定有个节点不停自动重启,直到心跳网络OK
2、oracle内部算法
3、重启是为了保持数据的一致性,也就所谓了脑烈
补充:
1、 以前见过HACMP出问题的时候一个节点Shutdown,但是不知道为什么这次是reboot
2、首先确定,rac的心跳线线是否两台机器直连;如果是直连,心跳线断了,一台主机必然reboot,这是oracle rac的一种保护机制。
3、问:用了一块电口网卡做HACMP的私有网卡 ?
干什么用?是用来做rac的private么?
我配置两个网卡,一个是rac的public 一个是rac的private,没用到ha的private网络,也跑过10g rac
回答:给HACMP单独配一个private网络是客户要求的,其实完全没有这个必要的
HACMP的功能这里就是为了把并行卷组拉起来
4、RAC的那个心跳确实不应该算心跳,因该说CRS的RAC地址,大家习惯叫它RAC的心跳了
在压力测试的时候发现,RAC的这个地址跑得数据量比Service上的数据量还大。
所以这也是客户要求把rac的private和HA的private分开的原因,为了提高性能吧
5、oracle rac的心跳还是有必要的,如果rac的两个实例之间同步数据,数据量还是比较大的,所以有时候你看到RAC的这个地址跑得数据量比Service上的数据量还大
6、private网是用来同步RAC的数据的,所以断了不2台机的数据就不能同步.不能保证数据的一致,ORACLE会强行关掉第二个实例,保证数据安全
7、
A、 心跳网络都都断了,肯定有个节点不停自动重启,直到心跳网络OK
B、PUBLIC网卡DOWN掉,只会导致断掉的那个节点 VIP服务飘到令一个节点,同时listener服务DOWN掉
C、重启是为了保持数据的一致性,也就所谓了脑烈