我不确定我想做的事情是否可行,所以我在这里寻求指导。
我的目标是在 LDAP中设置一个网络服务名称,以便使用它来服务于两个目的,DESCRIPTION_LIST
它也是 DataGuard 配置的一部分:
- 将
DESCRIPTION
使用“虚拟”服务名称,该服务将仅在列出的服务器之一中启动,ADDRESS_LIST
并且客户端将能够通过此方法连接到网络服务名称。 - 另一个
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
,如果服务不存在,它将尝试下一个地址,sb
。然后第二个DESCRIPTION
将允许 DataGuard 用于传送归档日志的更深思熟虑的途径。
我让这个在各个方面都工作了一段时间,但后来事情变得混乱并且它打破了我,我想知道是否可能需要定义一些其他参数以防止连接混淆。我想做很多事情吗?