ldap

时间:2016-11-03 19:46:52

标签: oracle connection dataguard .net-services

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

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

  1. 一个DESCRIPTION将使用“虚拟”服务名称,该服务只能在ADDRESS_LIST中列出的其中一个服务器中运行,客户端将能够通过以下方式连接到网络服务名称这种方法的方式。
  2. 其他DESCRIPTION将用于直接与服务联系
  3. 第一个是针对客户端,它将允许客户端连接到哪个数据库是当前主数据库,因为该特定服务将仅在主服务器所在的服务器上运行。

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

    以下是我的尝试:

        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,如果该服务不存在,则会尝试下一个地址sb。然后第二个DESCRIPTION将允许DataGuard用于运送存档日志的更有意义的途径。

    我让它在各方面工作了一段时间,但事情变得混乱,它打破了我,我想知道是否可能还有一些其他参数我需要定义以防止连接混淆。我想做多少?

1 个答案:

答案 0 :(得分:0)

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