li
  当前位置:主页 > 配置管理 > 文章内容
li
关于 RAC VIP的探讨
来源: www.ixdba.net  作者: IXDBA.NET官方    时间:2007-12-05   阅读:45  

有关链接:

http://www.itpub.net/showthread.php?threadid=744882&goto=newpost

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错误

www.ixdba.net


客户端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.




  上一篇: 如何区分一个初始化参数是静态还...   下一篇: 新手入门:学好Oracle的六条总结
li
 §相关评论  
评论人:想飞的青蛙2008-04-07
解释得很清楚,非常好~
 热点文章

·oracle Logfile的不同状态说明
·Oracle数据库的一些常用操作经
·Oracle10g(10.2) 在Redhat AS4
·oracle工具:浅谈LogMiner的使用
·RHAD AS4 上安装 Oracle 数据库
·oracle基础知识(物理结构)
·oracle基础:Oracle中null的使用
·Oracle常用基本语法操作集锦
·oracle数据库查询前台正在发出
·AIX+ORACLE10G安装手册
·oracle数据库9i升级到oracle10
li
 编辑推荐
·oracle Logfile的不同状态说明
·Oracle数据库的一些常用操作经
·Oracle10g(10.2) 在Redhat AS4
·oracle工具:浅谈LogMiner的使用
·RHAD AS4 上安装 Oracle 数据库
·oracle基础知识(物理结构)
·oracle基础:Oracle中null的使用
·Oracle常用基本语法操作集锦
·oracle数据库查询前台正在发出
·AIX+ORACLE10G安装手册
·oracle数据库9i升级到oracle10
li
 相关篇章
·如何区分一个初始化参数是静态还...
·v$parameter,v$system_parameter...
·数据库open过程内部分析
·Oracle10g归档参数研究
·Oracle后台进程详解
·Oracle数据库手边命令
·Oracle数据库空间使用和管理若干...
·oracle精彩站点小结
·关于cursor_sharing参数的说明
·(小技巧)设置sqlplus使用的编辑...
·新手入门:学好Oracle的六条总结
·Oracle数据库字符集全面认识
·深入理解系统全局区(SGA)的概念
·Oracle体系结构中的各种名称
·新手强烈推荐:Oracle 体系结构简...
·推荐阅读:成就DBA职业生涯
·Oracle入门基本知识一点通
·Oracle 9i初始化参数文件详解
·Oracle 9i轻松取得建表和索引的D...
·Oracle预定义角色有哪些?
 
li
设为首页 | 关于我们 | 技术服务 | 收藏本站 | 网站地图 | 联系方式 | 本站友情连接