首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Oracle 10 RAC VIP返回客户的非VIP地址

Oracle 10 RAC VIP返回客户的非VIP地址
EN

Database Administration用户
提问于 2015-02-04 11:59:50
回答 1查看 178关注 0票数 0

我不是DB,甚至不是Oracle专家,但我想了解Oracle何时以及为什么向客户端返回不同的非VIP地址,假设这是正确的行为?

listener.ora

代码语言:javascript
复制
LISTENER_DB-A =
(DESCRIPTION_LIST =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = DB-A-VIP)(PORT = 1521)(IP = FIRST))
       # this is the VIP 10.0.0.15
    )
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.0.10)(PORT = 1521)(IP = FIRST))
    )
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
    )
  )
)

这里,在连接到IP地址10.0.0.15之后,Oracle服务器将10.0.0.10地址返回给客户端。这是我的网络嗅到的上述行为:

客户端到Oracle

代码语言:javascript
复制
(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=10.0.0.15)(PORT=1521)))
(CONNECT_DATA=(CID=(PROGRAM=)(HOST=__jdbc__)(USER=))(SERVER=DEDICATED)
(SERVICE_NAME=my_db)(FAILOVER_MODE=(TYPE=SELECT)(METHOD=BASIC)(RETRIES=5)(DELAY=5))))

Oracle到Client

代码语言:javascript
复制
(DESCRIPTION=(CONNECT_DATA=(SERVICE_NAME=DB-A))(ADDRESS=(PROTOCOL=TCP)(HOST=10.0.0.10)(PORT=1521)))

我知道这种行为并不是强制性的,因为我看到Oracle服务器响应时没有提到重定向。服务器采取这种方式的原因是什么?提前感谢!

EN

回答 1

Database Administration用户

回答已采纳

发布于 2015-02-04 12:28:11

当涉及到11 gR2和扫描侦听器时,它就更加复杂了。但是,假设背后的原因是负载平衡。侦听器将将客户端重定向到加载最少的节点。

另一个原因也可能是工作负载平衡。假设我们的集群上有两个服务(SERVICE_NAME)。其中一种称为加载器,由将数据推入数据库的进程使用。另一个是WEB,被应用程序使用,从数据库中获取数据。每个服务位于不同的节点上。然后,这个重定向将保证数据库被有效地使用,并且所有加载器都使用同一个集群节点,即使其中一个节点失败了。

顺便说一句:我认为重定向消息不包含IP地址,而是包含主机名。因此,DB客户端和DB服务器之间不应该存在任何NAT,而且它们也应该使用相同的DNS服务器。

票数 0
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/91047

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档