Oracle

RAC 中的故障轉移查詢

  • November 28, 2016

假設我的兩節點 RAC 數據庫中有以下 tnsnames.ora,

DIVTEST = 
(DESCRIPTION = 
(ADDRESS = (PROTOCOL = TCP)(HOST = DIVTEST-scan.DIVCORP.com)(PORT = 1721)) 
(CONNECT_DATA = 
(SERVER = DEDICATED) 
(SERVICE_NAME = DIVTEST) 
) 
) 

我創建瞭如下服務:

Service_name – DIVTEST 
Failover_type - Basic 
Failover_method - session 
Failover_retries – 180 
Failover_delay - 5

以及在兩個節點中執行的服務。

對於伺服器端 TAF,我是否應該在我的數據庫伺服器上編輯我的 tnsnames.ora(上面提到的),如下所示?

DIVTEST = 
(DESCRIPTION = 
(ADDRESS = (PROTOCOL = TCP)(HOST = DIVTEST-scan.DIVCORP.com)(PORT = 1721)) 
(CONNECT_DATA = 
(SERVER = DEDICATED) 
(SERVICE_NAME = DIVTEST) 
(FAILOVER_MODE= 
(TYPE=session) 
(METHOD=basic))))

或者只是讓服務在兩個節點中執行將確保執行時 TAF?

  1. TNS 中提到的服務名稱和我使用 srvctl 為 TAF 創建的服務是否應該相同,以便客戶端不需要在其末尾對 tns 進行任何更改?

11gR2(11.2) 用於管理和策略管理數據庫的 RAC TAF 配置(文件 ID 1312749.1)

  1. 創建服務

正如你已經寫的那樣。

  1. 啟動服務

伺服器上不需要 TNS 條目。

  1. 建立聯繫。

客戶端連接字元串不需要任何特殊的 TAF 參數。如下所示的一個簡單的 tnsnames.ora 條目就可以了。

mysrvb = 
 (description =
  (address = (protocol=tcp)(host=secrac-scan)(port=1521))
  (connect_data=
   (service_name=mysrvb)
  ) 
 )

當然,使用 TAF 定義的服務。

引用自:https://dba.stackexchange.com/questions/156561