【问题标题】:Oracle Connection String for RAC Environment?RAC 环境的 Oracle 连接字符串?
【发布时间】:2012-11-05 15:19:31
【问题描述】:

我有一个 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 服务名称连接。

我没有与此相关的任何其他信息。我连接正确还是需要主机名或 IP 地址作为 orcl 服务名称。

【问题讨论】:

    标签: oracle oracle11g database-administration


    【解决方案1】:

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

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

    (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)))
    

    只要是可解析的,HOST 参数使用 DNS 名称还是 IP 地址都无关紧要。

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

    【讨论】:

    • 要是所有与 RAC 相关的事情都这么简单就好了……我也不幸了 ;-)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-08
    • 2013-12-14
    • 1970-01-01
    • 2016-06-08
    • 2021-09-25
    • 1970-01-01
    相关资源
    最近更新 更多