我不是 DB 甚至 Oracle 专家,但我想了解 Oracle 何时以及为何向客户端返回不同的非 VIP 地址,假设这是正确的行为?
监听器.ora
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))
)
)
)
这里,Oracle服务器连接IP地址10.0.0.15后,将10.0.0.10地址返回给客户端。这是我对上述行为的网络嗅探:
客户端到甲骨文
(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))))
甲骨文到客户
(DESCRIPTION=(CONNECT_DATA=(SERVICE_NAME=DB-A))(ADDRESS=(PROTOCOL=TCP)(HOST=10.0.0.10)(PORT=1521)))
我知道这种行为不是强制性的,因为我已经看到 Oracle 服务器在没有上述重定向的情况下做出响应。服务器以这种方式运行的原因是什么?提前致谢!