RAC环境的Oracle连接字符串?

时间:2012-11-16 21:04:01

标签: oracle oracle11g database-administration

我有一个ORACLE RAC环境访问。详细信息是

数据库名称: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地址。

1 个答案:

答案 0 :(得分: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名称还是HOST参数的IP地址都无关紧要。

您可能还需要LOAD_BALANCEFAILOVER个参数;见the docs