Oracle RAC Failove 之一:Client-Side Connect Time Failover
1.定義
Client-Side Connect Time Failover是指:如果客戶端tnsname.ora中配置了多個地址,使用者傳送連線請求時,會先嚐試連線第一個地址,如果失敗,則繼續嘗試第二個地址,直至成功或遍歷嘗試所有地址為止。
這種Failover方式只是在發起連線時刻起作用,一旦連線成功之後,如果節點出現故障,連線不會自動Failover到其它可用節點。從客戶端的角度來看:會話斷開,使用者程式必須重新建立連線。
2. 配置
在客戶端的tnsname.ora中新增FAILOVER=ON條目,該引數預設為ON,即客戶端預設配置Failover。
3.測試
測試環境:兩節點的RAC (O01RCD0A,O01RCD0B)
1)配置客戶端tnsnames.ora
編輯客戶端tnsnames.ora如下:
O01RCD0 =
(DESCRIPTION =
(failover = on)
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = wrong)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = drcdd0rb)(PORT = 1521))
(LOAD_BALANCE = yes)
)
(CONNECT_DATA =
(SERVICE_NAME = O01RCD0.world)
)
)
)
故意寫錯第一個地址。
2)測試能否連線資料庫
可正常連線資料庫,連線的例項是A:
A105024@O01RCD0>select instance_name from v$instance;
INSTANCE_NAME
----------------
O01RCD0A
3)在服務端kill服務程式模擬例項故障
檢視對應的服務程式的OS id:
A105024@O01RCD0>select pid,spid from v$process where addr in (select paddr from v$session where username ='A105024');
PID SPID
---------- ------------
38 14408
在OS上殺掉該程式:
kill -9 14408
過一會兒,再查詢時,發現連線已經斷開:
A105024@O01RCD0>select instance_name from v$instance;
select instance_name from v$instance
*
ERROR at line 1:
ORA-03114: not connected to ORACLE
Client-Side Connect Time Failover是指:如果客戶端tnsname.ora中配置了多個地址,使用者傳送連線請求時,會先嚐試連線第一個地址,如果失敗,則繼續嘗試第二個地址,直至成功或遍歷嘗試所有地址為止。
這種Failover方式只是在發起連線時刻起作用,一旦連線成功之後,如果節點出現故障,連線不會自動Failover到其它可用節點。從客戶端的角度來看:會話斷開,使用者程式必須重新建立連線。
2. 配置
在客戶端的tnsname.ora中新增FAILOVER=ON條目,該引數預設為ON,即客戶端預設配置Failover。
3.測試
測試環境:兩節點的RAC (O01RCD0A,O01RCD0B)
1)配置客戶端tnsnames.ora
編輯客戶端tnsnames.ora如下:
O01RCD0 =
(DESCRIPTION =
(failover = on)
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = wrong)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = drcdd0rb)(PORT = 1521))
(LOAD_BALANCE = yes)
)
(CONNECT_DATA =
(SERVICE_NAME = O01RCD0.world)
)
)
)
故意寫錯第一個地址。
2)測試能否連線資料庫
可正常連線資料庫,連線的例項是A:
A105024@O01RCD0>select instance_name from v$instance;
INSTANCE_NAME
----------------
O01RCD0A
3)在服務端kill服務程式模擬例項故障
檢視對應的服務程式的OS id:
A105024@O01RCD0>select pid,spid from v$process where addr in (select paddr from v$session where username ='A105024');
PID SPID
---------- ------------
38 14408
在OS上殺掉該程式:
kill -9 14408
過一會兒,再查詢時,發現連線已經斷開:
A105024@O01RCD0>select instance_name from v$instance;
select instance_name from v$instance
*
ERROR at line 1:
ORA-03114: not connected to ORACLE
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26277071/viewspace-710931/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Failover 之 Client-Side Connect time Failover、Client-Side TAF、Service-Side TAFAIclientIDE
- connect-time failover的配置!AI
- Oracle RAC Failove 之二:TAFOracleAI
- Oracle RAC Failove 之三:Server-Side TAFOracleAIServerIDE
- Oracle RAC Failover 詳解OracleAI
- oracle rac failover 詳解OracleAI
- oracle rac failover的疑惑OracleAI
- Oracle RAC TAF 無縫failoverOracleAI
- 轉:Oracle RAC Failover 詳解OracleAI
- Oracle RAC Failover 詳解[轉帖]OracleAI
- rac 的Client-side TAF配置clientIDE
- WebMethod connect to Oracle10g RACWebOracle
- 如何配置Oracle RAC Load Balance 及FailOverOracleAI
- 【Oracle】 RAC 環境刪除oracle 之一Oracle
- Oracle RAC 客戶端故障轉移(failover) TAFOracle客戶端AI
- [zt] Oracle RAC的Failover設定與測試OracleAI
- oracle之time zone時區timestamp with time zone相關的概念之一Oracle
- Oracle RAC Grid misscount/disktimeoutOracle
- Oracle RAC 客戶端FAILOVER LOADBALANCE特性的配置方法Oracle客戶端AI
- rac failover and load_balanceAI
- INBOUND_CONNECT_TIMEOUT與SQLNET.INBOUND_CONNECT_TIMEOUT小結SQL
- dataguard switchover & failover steps (rac)AI
- 【RAC】Oracle叢集心跳及其引數misscount/disktimeout/reboottimeOracleboot
- VMWARE+linux+oracle 10g RAC 之一LinuxOracle 10g
- rac學習之一
- 邏輯 rac standby和物理 rac standby的switchover 和 failoverAI
- oracle 10.2.0.1 rac的lmd程式的含義之一Oracle
- TNSNAMES TAF TEMPLATE , LOCAL_LISTENER RAC FAILOVERAI
- RAC環境STANDBY的FAILOVER切換AI
- redis connect timeout問題排查Redis
- Oracle connect byOracle
- RAC+Dataguard環境中JDBC Failover配置JDBCAI
- rac failover and load_balance簡單使用AI
- oracle 11.2.0.4 使用easy connect naming定義db link淺析之一Oracle
- Laravel connect oracleLaravelOracle
- Oracle “CONNECT BY” 使用Oracle
- oracle connect by用法Oracle
- Oracle Start with ....Connect ByOracle