【问题标题】:Oracle Net Service Name with 2 Connect Descriptors in ldapldap 中带有 2 个连接描述符的 Oracle 网络服务名称
【发布时间】:2016-11-03 19:46:52
【问题描述】:

我不确定我正在尝试做的事情是否可行,所以我在这里寻求指导。

我的目标是在 LDAP 中设置一个网络服务名称,以便使用 DESCRIPTION_LIST 服务于 2 个目的它也是 DataGuard 配置的一部分:

  1. DESCRIPTION 将使用“虚拟”服务名称,该服务将仅在ADDRESS_LIST 中列出的服务器之一中启动,并且客户端将能够通过此方法连接到网络服务名称.
  2. 另一个DESCRIPTION 将用于直接联系服务

第一个是针对客户端的,它允许客户端连接到当前主数据库,因为该特定服务只会在主数据库所在的服务器上运行。

第二个是允许存档日志传送的通信。

以下是我的尝试:

    apple=
 (DESCRIPTION_LIST=
  (DESCRIPTION=
  (FAILOVER=on)
   (ADDRESS_LIST=
    (ADDRESS=(PROTOCOL=TCP)(HOST=prim)(PORT=15940))
    (ADDRESS=(PROTOCOL=TCP)(HOST=sb)(PORT=15940)))
    (CONNECT_DATA=
     (SERVICE_NAME=virtual_apple)(FAILOVER_MODE=(TYPE=SESSION)(METHOD=basic))))

  (DESCRIPTION=
   (ADDRESS=(PROTOCOL=TCP)(HOST=prim)(PORT=15940))
   (CONNECT_DATA=
    (SERVICE_NAME=apple)(FAILOVER_MODE=(TYPE=SESSION)(METHOD=basic)))))

我的想法是,当客户端尝试通过sqlplus user/pw@apple 连接时,连接将首先转到prim 并检查virtual apple,如果服务不存在,它将尝试下一个地址,@ 987654329@。然后第二个DESCRIPTION 将允许DataGuard 用于传送归档日志的更深思熟虑的途径。

我让这个在各个方面都工作了一段时间,但后来事情变得混乱了,我想知道是否可能需要定义其他一些参数来防止连接混乱。我想做很多事情吗?

【问题讨论】:

    标签: oracle connection dataguard .net-services


    【解决方案1】:

    这是正确的方法,您只需在数据库中使用 dbms_service.create_service 创建服务名称,然后使用静态数据库注册将其注册到侦听器。

    【讨论】:

      猜你喜欢
      • 2012-02-05
      • 2013-01-13
      • 2011-09-26
      • 1970-01-01
      • 2014-09-16
      • 1970-01-01
      • 2022-01-06
      • 2019-11-27
      • 1970-01-01
      相关资源
      最近更新 更多