近日发现公司几台重要系统rac数据库,/etc/hosts里边没有scan vip的任何信息,可是经过node
#srvctl config scan却看到了scanvip,后来和之前的同事沟通了下,说多是之前dba故意干的!!!数据库
坑!!!留下的坑!!!!你懂的!!!!!oracle
ok,无论前任了,由于前任都换了好几任了。测试
针对公司数据库版本——oracle 11.2.0.3 rac,我也作了一个小测试:spa
结论:操作系统
1: rac正常配置并运行后,能够删除/etc/hosts文件中的scan vip信息,删除该信息后,数据库仍旧能够正常运行,可是一旦重启网卡或者reload网卡,该节点就会掉线,且该实例将永远也没法启动。ip
2:就算删除掉/etc/hosts里边全部scan信息,实例没法启动,可是只须要再在/etc/hosts添加任意一条正确的scanvip信息,实例又能够正常启动,且节点都保持在线虚拟机
如下实验过程,这里我把全部的scan vip信息都删掉配置
先肯定系统版本network
[oracle@node2 ~]$ cat /etc/issue
Oracle Linux Server release 6.5
Kernel \r on an \m
数据库版本以下:
首先,系统正常运行,我ping如下全部的VIP,这里个人scanIP有两个
接下来,我把 /etc/hosts/里边的scanvip都干掉,以下
而后从新ping全部vip,结果和原来同样。
可是当我再任意节点service network reload时,你懂得,这个节点立马重启。
此时看看实例状态;
节点2已经死了,看看操做系统(我用的是虚拟机)已经正在重启了。
稍等片刻,系统启动后,我接下来再节点试图启动该实例,惋惜
很显然,没法解析scanip。
OK,我如今将节点的scanip添加进去(原来有两条scanvip信息的,我只添加一条),再尝试启动如下实例,是否OK
结果很显然,数据库实例再启动过程会自动去解析scanvip且至少的解析一条正常的scanvip,实例才能正常启动。