ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 关于 RAC VIP (Oracle10G RAC) 的探讨(zt)

关于 RAC VIP (Oracle10G RAC) 的探讨(zt)

原创 Linux操作系统 作者:tolywang 时间:2007-12-14 00:00:00 0 删除 编辑
If a node fails, then the node’s VIP fails over to another node on which the VIP cannot accept connections.

这句话什么意思啊?按字面翻译是如果节点失败,那么该节点的VIP将会切换到另一个 VIP不能接受连接的节点上,我的疑问是这样切换的意义是什么呢?以下的回复是有道理的:


提升用户体验。 如果不用VIP,用户要忍受长时间的tcp timeout用了VIP之后,用户连接到crashinstance就会报ora错误
客户端TAF的配置就会尝试下一个node这也与文档说的一致。那么我理解这里有三个层次,首先服务器实现 VIP 的切换,同时立即给客户端返回一个连接错误;其次客户端虽然接受到错误,但通过 TAF 的配置就会尝试下一个node;最后对于应用来说,因为是通过客户端注册的服务连接服务器,所以真正做到透明应用失败切换(TAF

其实在节点一实效之后,vip1可以切换到node2上面去但是node2上的listener不能使用新漂移过来的vip1进行连接服务,因为oracle10G还没有提供漂移过来的ip自动注册到listener的功能,因此,vip1切换到其他节点后,这个ip就不能提供连接服务,只是执行了切换过来这个动作。

那么为何还要让vip1切换到node2呢,切换过来又没有什么用处?

原因是:

使用vip之后,客户端可以快速判断vip1没有listener服务,可以直接尝试换另外的ip了。减少了尝试的次数和时间。

简述过程如下:

vip1切换到node2后,由于不能提供服务了,因此马上给客户端返回一个连接错误,这个动作会使已连接的客户端向现在已经停机的节点发出 SQL 时,接收到一个 TCP 重置信息。连接将使用 tnsname 中的下一个地址,不过这可不是透明的,会产生一个错误ORA-3113

如果你希望透明应用程序故障切换,必须要配置 TAF 应用策略。如果配置了TAF策略,客户端虽然接受到错误,但通过 TAF 的配置就会马上尝试下一个node的连接,这样对于应用来说,实现了真正的透明故障切换,同时也减少了客户端用户等待时间。如果不使用vip连接,当一个节点实效后,vip1也会自动切换到node2,但是这一切已经连接上的客户端并不能马上知道节点一已经实效,因此已经连接到实效节点的客户端会不断的尝试连接,直到连接超时等才会尝试连接tnsname 中的下一个地址,所以这个切换会花费很长时间,客户端才能切换到node2.

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/35489/viewspace-85112/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
Oracle , MySQL, SAP IQ, SAP HANA, PostgreSQL, Tableau 技术讨论,希望在这里一起分享知识,讨论技术,畅谈人生 。

注册时间:2007-12-10

  • 博文量
    5595
  • 访问量
    13107276