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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle dataguard failover 實戰OracleAI
- Oracle 12c RAC CSSD程式無法啟動real time模式OracleCSS模式
- Oracle:Failover 到物理備庫OracleAI
- Laravel connect oracleLaravelOracle
- Oracle Dataguard故障轉移(failover)操作OracleAI
- oracle RACOracle
- Oracle RAC Cache Fusion 系列十七:Oracle RAC DRMOracle
- Oracle 11.2 DataGuard RAC To RAC搭建Oracle
- Oracle RAC CacheFusion 系列十五:Oracle RAC CRServer Part TwoOracleServer
- Linux Use ODBC Connect OracleLinuxOracle
- ORACLE RAC clusterwareOracle
- Oracle Cluster Time ManagementOracle
- Oracle RAC Cache Fusion系列十八:Oracle RAC Statisticsand Wait EventsOracleAI
- Oracle 11g dg broker自動failoverOracleAI
- Oracle RAC Cache Fusion 系列十四:Oracle RAC CR Server Part OneOracleServer
- Oracle RAC Cache Fusion 系列十:Oracle RAC Enqueues And Lock Part 1OracleENQ
- Oracle start with connect by PostgreSQL recursive cteOracleSQL
- 【RAC】Oracle RAC如何修改心跳網路Oracle
- Oracle RAC Wait EventsOracleAI
- oracle rac 增加磁碟Oracle
- oracle time_zone(zt)Oracle
- 【RAC】Oracle rac 如何修改公網及vipOracle
- Oracle RAC Cache Fusion 系列九:Oracle RAC 分散式資源管理(二)Oracle分散式
- Oracle RAC Cache Fusion 系列八:Oracle RAC 分散式資源管理(一)Oracle分散式
- PostgreSQL Oracle 相容性 - connect by 2SQLOracle
- Oracle RAC+DG搭建Oracle
- Oracle RAC更新補丁Oracle
- Oracle RAC新增節點Oracle
- 4.2.1.12 規劃 Oracle RACOracle
- Oracle RAC自啟動Oracle
- Networker備份oracle racOracle
- Oracle:RAC 程式簡介Oracle
- Oracle Respones-Time Analysis ReportsOracle
- G003-ORACLE-INS-RAC-01 ORACLE 19C RAC Ins ON OEL 7.8Oracle
- 【BUILD_ORACLE】Oracle 19c RAC搭建(六)建立RAC資料庫UIOracle資料庫
- Oracle的SYS_CONNECT_BY_PATH函式Oracle函式
- Oracle RAC一鍵部署004(RAC引數校驗)Oracle
- 【RAC】Oracle RAC上線測試場景介紹Oracle
- Oracle RAC序列效能測試Oracle