1

我有一个 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 地址。

4

1 回答 1

7

您的连接字符串引用了一台服务器/节点上的一个实例。您应该改用通用服务名称,并识别它可用的所有服务器。

你的等价物是这样的(为了清楚起见,换行符):

(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_BALANCEorFAILOVER参数;请参阅文档

于 2012-11-16T23:19:23.403 回答