RAC Failover三种方式
生活随笔
收集整理的這篇文章主要介紹了
RAC Failover三种方式
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1、Client-Side Connect Time Failover
1.1)在用戶端tnsname中配置了多個地址,用戶發起連接請求時,會先嘗試連接地址表中的第一個地址,如果這個連接嘗試失敗,則繼續嘗試使用第二個地址,直至連接成功或者遍歷了所有的地址。
1.2)這種Failover的特點是:在建立連接那一時刻起作用,一旦連接建立之后,節點出現故障都不會作處理,從而客戶端的表現就是會話斷開,用戶程序必須重新建立連接。
啟用該方法:在客戶端tnsname.ora中添加FAILOVER=ON條目,因為這個參數默認值就是為NO,所以即使客戶端不加該條目,也有這種Failover功能。
XFF_F =
? (DESCRIPTION =
? ? (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.21)(PORT = 1521))
? ? (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.22)(PORT = 1521))
? ? (LOAD_BALANCE = yes)
? ? (CONNECT_DATA =
? ? ? (SERVER = DEDICATED)
? ? ? (SERVICE_NAME = devdb)
? ? )
? )
2、TAF(Transparent Application Failover)
2.1)在連接建立以后、應用系統運行過程中,如果某個實例發生故障,連接到這個實例上的用戶會被自動遷移到其他的健康的實例上。對于應用程序而言,這個遷移過程是透明的,不需要用戶的介入,當然在遷移過程中,未提交的事物會回滾。
2.2)與Client-Side Connect Time Failover比較起來,就是多了FAILOVER_MODE這一配置項,該配置項包含4個子項目
2.2.1)METHOD:可選值有BASIC和PRECONNECT
BASIC是指在感知到節點故障時才創建到其他實例的連接
PRECONNECT是在最初建立連接時就同時建立到所有實例的連接,當發生故障時,立刻就可以切換到其他鏈路上。
2.2.2)TYPE:可選值有SESSION和SELECT
兩者的區別在于對select語句的處理,select表示如果發生故障遷移,正在執行的select語句將在新的節點上繼續返回后續結果集;而session表示重新執行該select查詢返回全部的結果。
2.2.3)DELAY表示重試間隔時間
2.2.4)RETRIES表示重試次數
XFF_T =
? (DESCRIPTION =
? ? (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.21)(PORT = 1521))
? ? (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.22)(PORT = 1521))
? ? (LOAD_BALANCE = yes)
? ? (CONNECT_DATA =
? ? ? (SERVER = DEDICATED)
? ? ? (SERVICE_NAME = devdb)
? ? ? (FAILOVER_MODE =
? ? ? ? (TYPE = SELECT)
? ? ? ? (METHOD = BASIC)
? ? ? ? (RETRIES = 180)
? ? ? ? (DELAY = 5)
? ? ? )
? ? )
? )
3、Server-Side TAF
3.1)Server-Side TAF具有TAF的所有特點
3.2)這種TAF是在服務器上配置,不需要在客戶端進行相關配置,如果修改一個參數,不需要在所有的tns上修改,而只要修改服務器中的service即可
用戶有兩種角色可以選擇
PREFERRED:首選實例,會優先選擇擁有這個角色的實例提供服務
AVAILABLE:后備實例,當PREFERRED實例不可用時,才會轉到AVAILABLE實例上
XFF_RAC =
? (DESCRIPTION =
? ? (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.21)(PORT = 1521))
? ? (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.22)(PORT = 1521))
? ? (LOAD_BALANCE = yes)
? ? (CONNECT_DATA =
? ? ? (SERVER = DEDICATED)
? ? ? (SERVICE_NAME = XFF)
? ? )
? )
1.1)在用戶端tnsname中配置了多個地址,用戶發起連接請求時,會先嘗試連接地址表中的第一個地址,如果這個連接嘗試失敗,則繼續嘗試使用第二個地址,直至連接成功或者遍歷了所有的地址。
1.2)這種Failover的特點是:在建立連接那一時刻起作用,一旦連接建立之后,節點出現故障都不會作處理,從而客戶端的表現就是會話斷開,用戶程序必須重新建立連接。
啟用該方法:在客戶端tnsname.ora中添加FAILOVER=ON條目,因為這個參數默認值就是為NO,所以即使客戶端不加該條目,也有這種Failover功能。
XFF_F =
? (DESCRIPTION =
? ? (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.21)(PORT = 1521))
? ? (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.22)(PORT = 1521))
? ? (LOAD_BALANCE = yes)
? ? (CONNECT_DATA =
? ? ? (SERVER = DEDICATED)
? ? ? (SERVICE_NAME = devdb)
? ? )
? )
2、TAF(Transparent Application Failover)
2.1)在連接建立以后、應用系統運行過程中,如果某個實例發生故障,連接到這個實例上的用戶會被自動遷移到其他的健康的實例上。對于應用程序而言,這個遷移過程是透明的,不需要用戶的介入,當然在遷移過程中,未提交的事物會回滾。
2.2)與Client-Side Connect Time Failover比較起來,就是多了FAILOVER_MODE這一配置項,該配置項包含4個子項目
2.2.1)METHOD:可選值有BASIC和PRECONNECT
BASIC是指在感知到節點故障時才創建到其他實例的連接
PRECONNECT是在最初建立連接時就同時建立到所有實例的連接,當發生故障時,立刻就可以切換到其他鏈路上。
2.2.2)TYPE:可選值有SESSION和SELECT
兩者的區別在于對select語句的處理,select表示如果發生故障遷移,正在執行的select語句將在新的節點上繼續返回后續結果集;而session表示重新執行該select查詢返回全部的結果。
2.2.3)DELAY表示重試間隔時間
2.2.4)RETRIES表示重試次數
XFF_T =
? (DESCRIPTION =
? ? (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.21)(PORT = 1521))
? ? (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.22)(PORT = 1521))
? ? (LOAD_BALANCE = yes)
? ? (CONNECT_DATA =
? ? ? (SERVER = DEDICATED)
? ? ? (SERVICE_NAME = devdb)
? ? ? (FAILOVER_MODE =
? ? ? ? (TYPE = SELECT)
? ? ? ? (METHOD = BASIC)
? ? ? ? (RETRIES = 180)
? ? ? ? (DELAY = 5)
? ? ? )
? ? )
? )
3、Server-Side TAF
3.1)Server-Side TAF具有TAF的所有特點
3.2)這種TAF是在服務器上配置,不需要在客戶端進行相關配置,如果修改一個參數,不需要在所有的tns上修改,而只要修改服務器中的service即可
用戶有兩種角色可以選擇
PREFERRED:首選實例,會優先選擇擁有這個角色的實例提供服務
AVAILABLE:后備實例,當PREFERRED實例不可用時,才會轉到AVAILABLE實例上
XFF_RAC =
? (DESCRIPTION =
? ? (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.21)(PORT = 1521))
? ? (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.22)(PORT = 1521))
? ? (LOAD_BALANCE = yes)
? ? (CONNECT_DATA =
? ? ? (SERVER = DEDICATED)
? ? ? (SERVICE_NAME = XFF)
? ? )
? )
總結
以上是生活随笔為你收集整理的RAC Failover三种方式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: RAC负载均衡配置
- 下一篇: 如何在大多数文字编辑器中(包括word和