您好,欢迎访问一九零五行业门户网

Oracle RAC中的投票算法

两个partition都想以为对方出问题,自己需要接管业务,如果没有投票算法就会导致两个partition同时操作数据库(共享存储)的情况
假设,rac集群中有三台机器,a,b,c
a,b,c都会有3票,假设这是a的心跳线出现问题,整个rac集群就划分为两个paritition,
一个是只有a的partition,一个是b,c组成的partition,
两个partition都想以为对方出问题,自己需要接管业务,如果没有投票算法就会导致两个partition同时操作数据库(共享存储)的情况,注意,这里的数据库不是我们通常说的数据库,因为在rac集群中,数据文件,配置文件,日志文件是放在后端的共享存储上的,rac集群中的多个节点所共享。
话说回来,出先两个partition后,因为a所在的partition只有自己了,没有其他心跳线连接,所以它只有自己的1票,
而b,c所在的partition因为有彼此间的心跳线存在,都可向对方投票,所以他们都有2票,这个时候票数多的获得rac集群的控制权,a所在的partition被踢出集群。a节点被强制重启,避免a和bc节点同时操作数据库。

其它类似信息

推荐信息