过着简单,真实的生活,喜欢收藏变形金刚(TFE,G1,SL系列),研究金融股市,KOF98,篮球,学习研究Oracle技术,我并不是一个全职的Oracle DBA,但是对于Oracle技术的热爱和研究,是一个不争的事实,愿意结交广大Oracle技术爱好者!MSN:oracle_kof_tf@hotmail.com

RAC中的虚拟IP

上一篇 / 下一篇  2008-05-12 16:22:17 / 个人分类:Oracle数据库技术-HA

10g 中为什么使用虚拟 IP (VIP)?为什么当它的主节点发生故障时不只是返回一个无效的连接呢?

这全是出于对应用程序可用性的考虑。当一个节点发生故障时,与其关联的 VIP 将被自动故障切换到另外某个节点上。当出现这种情况时,会发生两件事:

新的节点重新进行地址解析,显示该地址的一个新的 MAC 地址。对于直接连接的客户端,这通常使它们在连接旧地址时出现错误。
随后发送到 VIP 的数据包前往新的节点,该节点将把错误的 RST 数据包返回客户端。这导致客户端立即收到错误信息。
这意味着,当客户端向现在已经停机的节点发出 SQL 时,或者在连接状态下遍历地址列表时,客户端不会等待很长的 TCP/IP 超时(大约 10 分钟),而是接收到一个 TCP 重置信息。就 SQL 来说,该信息为 ORA-3113。对于连接,使用 tnsname 中的下一个地址。

更进一步的操作是使用透明的应用程序故障切换 (TAF)。成功配置 TAF 后,就可以完全避免 ORA-3113 错误!

如果不使用 VIP,连接停用节点的客户端经常要等待 10 分钟的 TCP 超时,然后才收到错误信息。因此,不使用 VIP 您就不会真正拥有好的高可用性解决方案(来源 — Metalink 说明 220970.1)。


TAG:

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

Open Toolbar