RAC之Split brain
裂腦(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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- RAC 腦裂 處理機制 Oracle RAC Brain SplitOracleAI
- How To Deal With Split Brain In Oracle 19c RacAIOracle
- Oracle10g RAC clusterware split-brain - 腦裂OracleAI
- 記一次RAC Brain Split腦裂分析過程AI
- RAC腦裂(split brain)相關: DTO(disktimeout) - SDTO,LDTOAI
- 轉:瞭解Oracle RAC Brain Split Resolution叢集腦裂協議OracleAI協議
- Oracle RAC叢集腦裂split-brain概述及解決辦法OracleAI
- How To Deal With Split Brain In Oracle 19c Rac-202203AIOracle
- Split Brain in Oracle Clusterware and Real Application ClusterAIOracleAPP
- Waiting for clusterware split-brain resolutionAI
- split-brain 腦裂問題(Keepalived)AI
- MySQL InnoDB Cluster – how to manage a split-brain situationMySqlAI
- ZooKeeper 05 - ZooKeeper 叢集的腦裂問題(Split Brain)AI
- RAC中的腦裂(Split Brain)是根據什麼原則進行節點驅逐(Node Eviction)的 ? 1546004.1AI
- 容器化RDS—計算儲存分離架構下的“Split-Brain”架構AI
- javascript函式之——splitJavaScript函式
- c#之String.Split 方法C#
- PHP之string之str_split()函式使用PHP函式
- js中split之正則運用(模式匹配)JS模式
- JavaScript split()JavaScript
- Awk split
- split 例子
- split partition
- Edge Split
- JavaScript陣列之傻傻分不清系列(split,splice,slice)JavaScript陣列
- js中split,splice,slice方法之間的差異。JS
- git subtree splitGit
- oracle之 RAC Interconnect之HAIPOracleAI
- hadoop之mapreduce.input.fileinputformat.split.minsize引數HadoopORM
- Hbase split的三種方式和split的過程
- RAC筆記之service筆記
- php中split()用法PHP
- Split Array Largest Sum
- split相當好使
- os.path.split
- java split用法 案例Java
- php中的chunk_split()和str_split()字串函式PHP字串函式
- split() 函式解析 (一)函式