裂脑(split-brain)现象:裂脑是由于集群中的节点之间无法正常通讯而导致的集群中出现的不一致的现象
如果出现这种情况,Oracle RAC会终止一个实例,来保证集群的一致性.
附:
·servera实例down情况下的自动切换实验:
1.初始状态:两台服务器的oracle实例均运行
$ srvctl status database -d sddzyj
Instance sddzyj1 is running on node ibmsvr1
Instance sddzyj2 is running on node ibmsvr2
2.在客户端PC上连接oracle,连接到实例sddzyj2
SQL> conn sys/oracle @sddzyj as sysdba;
已连接。
SQL> select instance_number,instance_name,host_name from v$instance;
INSTANCE_NUMBER INSTANCE_NAME HOST_NAME
--------------- ---------------------------------------------
2 sddzyj2 ibmsvr2
3.stop ractest2
$ srvctl stop instance -d sddzyj -i sddzyj2
$ srvctl status database -d sddzyj
Instance sddzyj1 is running on node ibmsvr1
Instance sddzyj2 is not running on node ibmsvr2
4.客户端PC的连接自动切换到ractest1,而且不会出现ORA错误
SQL> select instance_number,instance_name,host_name from v$instance;
INSTANCE_NUMBER INSTANCE_NAME HOST_NAME
--------------- ---------------------------------------------
1 sddzyj1 ibmsvr1
·servera的public网线断开时的自动切换实验:
1.初始状态:两台服务器的oracle实例均运行
$ srvctl status database -d sddzyj
Instance sddzyj1 is running on node ibmsvr1
Instance sddzyj2 is running on node ibmsvr2
2.在客户端PC上连接oracle,连接到实例sddzyj2
SQL> conn sys/oracle @sddzyj as sysdba;
已连接。
SQL> select instance_number,instance_name,host_name from v$instance;
INSTANCE_NUMBER INSTANCE_NAME HOST_NAME
--------------- ---------------------------------------------
2 sddzyj2 ibmsvr2
3.断开ibmsvr2的public端口网线,过一会后,ibmsvr2上的oracle实例sddzyj2会down
$ srvctl status database -d sddzyj
Instance sddzyj1 is running on node ibmsvr1
Instance sddzyj2 is not running on node ibmsvr2
4.客户端PC的连接丢失,且不能切换到serverb
SQL> select instance_number,instance_name,host_name from v$instance;
select instance_number,instance_name,host_name from v$instance
*
第 1 行出现错误:
ORA-03135: 连接失去联系
SQL> select instance_number,instance_name,host_name from v$instance;
ERROR:
ORA-03114: 未连接到 ORALCE
如果出现这种情况,Oracle RAC会终止一个实例,来保证集群的一致性.
附:
·servera实例down情况下的自动切换实验:
1.初始状态:两台服务器的oracle实例均运行
$ srvctl status database -d sddzyj
Instance sddzyj1 is running on node ibmsvr1
Instance sddzyj2 is running on node ibmsvr2
2.在客户端PC上连接oracle,连接到实例sddzyj2
SQL> conn sys/oracle @sddzyj as sysdba;
已连接。
SQL> select instance_number,instance_name,host_name from v$instance;
INSTANCE_NUMBER INSTANCE_NAME HOST_NAME
--------------- ---------------------------------------------
2 sddzyj2 ibmsvr2
3.stop ractest2
$ srvctl stop instance -d sddzyj -i sddzyj2
$ srvctl status database -d sddzyj
Instance sddzyj1 is running on node ibmsvr1
Instance sddzyj2 is not running on node ibmsvr2
4.客户端PC的连接自动切换到ractest1,而且不会出现ORA错误
SQL> select instance_number,instance_name,host_name from v$instance;
INSTANCE_NUMBER INSTANCE_NAME HOST_NAME
--------------- ---------------------------------------------
1 sddzyj1 ibmsvr1
·servera的public网线断开时的自动切换实验:
1.初始状态:两台服务器的oracle实例均运行
$ srvctl status database -d sddzyj
Instance sddzyj1 is running on node ibmsvr1
Instance sddzyj2 is running on node ibmsvr2
2.在客户端PC上连接oracle,连接到实例sddzyj2
SQL> conn sys/oracle @sddzyj as sysdba;
已连接。
SQL> select instance_number,instance_name,host_name from v$instance;
INSTANCE_NUMBER INSTANCE_NAME HOST_NAME
--------------- ---------------------------------------------
2 sddzyj2 ibmsvr2
3.断开ibmsvr2的public端口网线,过一会后,ibmsvr2上的oracle实例sddzyj2会down
$ srvctl status database -d sddzyj
Instance sddzyj1 is running on node ibmsvr1
Instance sddzyj2 is not running on node ibmsvr2
4.客户端PC的连接丢失,且不能切换到serverb
SQL> select instance_number,instance_name,host_name from v$instance;
select instance_number,instance_name,host_name from v$instance
*
第 1 行出现错误:
ORA-03135: 连接失去联系
SQL> select instance_number,instance_name,host_name from v$instance;
ERROR:
ORA-03114: 未连接到 ORALCE
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/543979/viewspace-584609/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/543979/viewspace-584609/