关于oracle RAC心跳线采用直连 还是交换机连接的建议

时间:2024-01-08 14:05:14

关于oracle RAC心跳线的连接方式,各个论坛,包括网上文章的说法是:官方说是不建议直连,建议采用交换机连接的方式!PS:但是,一直没有找到官方文档的出处,有知道的兄弟,烦请评论区提供下地址!!!3Q

首先说说心跳线的作用:

oracle RAC不得不提的概念:健忘 和 脑裂

健忘=》OCR

脑裂=》VOTE

下面谈谈直连的方式:

在oracle9i rac的时侯采用直连的要比走交换机的要多。

走交换机的优点是如果其中rac其中的一台掉电
此时好的那台的网卡还是有信号的
这样oracle会很容易的取舍,不会影响到好的节点

其实直连也只是在掉电这样的情况下才会让oracle有些迷惑
这种情况下是否会影响好的结点我没测过,条件允许你可以测一下
一般情况不会有问题
如有硬件这样计划停机的情况,可以手动的把相应结点的crs等服务停掉,这样也不会有什么影响

总之,条件充许最好走交换机,最好配置etherchannel 或是apa这样的网卡绑定
直连的方式在实际使用中也只是有一点小问题,用也没事。

如果心跳网络断掉了,oracle的集群就会分裂成若干个小的自己群,我们叫cohort(你可以在ocssd.log)里面找到。
oracle会根据每个cohort包含的节点数量决定哪个子集群离开,基本的原则是:
1. 节点数多的子集群留下,节点数少的被驱逐。
2. 如果每个子集群的节点数
相同,那么包含了最小节点编号的节点会被保留。

这就是为什么你看到两个节点的集群,如果心跳网络出现问题,一定是节点2被重启的原因。

另外:
节点的驱逐和VF(就是很多人说的voting disk)没关系。
主要的原因是很多人把数据库层面的实例驱逐和集群层面的界定啊驱逐概念搞混了。

所以才有了这种错误的认识。

如果是数据库实例层面的驱逐,的确是和控制文件相关的,因为在数据库层面控制文件起到了VF的作用