2012-11-16 111 views
0

我有Oracle RAC環境中訪問.The細節RAC環境的Oracle連接字符串?

數據庫名稱:ORCL 服務名稱:ORCL IP地址:192.168.1.1 192.168.1.2和

SQL> host srvctl status database -d orcl 

Instance orcl1 is running on node orclnode1 

Instance orcl2 is running on node orclnode2 

我擔心的是我的連接,正在建立使用

(DESCRIPTION=(ADDRESS= 
    (PROTOCOL=TCP)(HOST=192.168.1.1) (PORT=1521) 
)(CONNECT_DATA=(SID=orcl1))) 

但提供者希望它通過orcl服務名稱連接。

我沒有任何其他信息與此相關。我是否正確連接,或者我需要orcl服務名稱的主機名或IP地址。

回答

6

您的連接字符串引用了一個服務器/節點上的一個實例。您應該使用公共服務名稱,並標識所有可用的服務器。

你會是這樣的(換行符只是爲了清楚起見,在這裏)等效:

(DESCRIPTION=(ADDRESS_LIST= 
    (ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.1)(PORT=1521)) 
    (ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.2)(PORT=1521)) 
)(CONNECT_DATA=(SERVICE_NAME=orcl))) 

只要是解析,它不應該不管你使用的DNS名稱或者IP地址爲HOST參數。

您可能還需要LOAD_BALANCEFAILOVER參數;見the docs

+1

如果只有與RAC有關的所有事情都是這樣簡單的......又是一個禍患是我;-) – Ben