ITPub博客

首页 > 数据库 > Oracle > oracle rac 之vip与ip理解

oracle rac 之vip与ip理解

原创 Oracle 作者:witty_sun 时间:2014-06-17 21:19:36 0 删除 编辑
       vip ( Virtual Internet Protocol )虚拟网络协议,在oracle rac 环境中用来保证高可用性的一种方法。当rac的一个节点出现故障,那么这个节点1的vip1漂移到集群中另一个节点2上。因为在节点2的监听器上并没有注册节点1的vip1,所以当客户端尝试通过节点1的vip1连接时会立即响应收到一个拒绝连接,这时客户端会重新发起向vip2连接请求。vip相对于ip的优点在于,使用ip当节点1故障时,连接会等待tcp/ip超时,这个超时默认时间会很长;而vip会立即响应发送给客户端,客户端接收到错误之后会立即发起向vip2的连接请求。
      实验准备:
           数据库 oracle 11g(11.2.0.3)
           两个节点:节点1物理ip:192.168.80.101,vip1:192.168.80.201;
                           节点2物理ip:192.168.80.101,vip2:192.168.80.202;
          windows client端
实验:
            现在节点1crash掉
    1.windows client端 tnsname.ora配置如下

点击(此处)折叠或打开

  1. RAC =
  2.   (DESCRIPTION =
  3.     (ADDRESS_LIST =
  4.       (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.80.201)(PORT = 1521)) 
  5.       (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.80.202)(PORT = 1521))
  6.     )
  7.     (CONNECT_DATA =
  8.       (SERVICE_NAME = rac)
  9.     )
  10.   )
    发起连接等待不到1秒就可连接上:


2.在windows client端 tnsname.ora 中删除vip2

点击(此处)折叠或打开

  1. RAC =
  2.   (DESCRIPTION =
  3.     (ADDRESS_LIST =
  4.       (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.80.201)(PORT = 1521))
  5.     )
  6.     (CONNECT_DATA =
  7.       (SERVICE_NAME = rac)
  8.     )
  9.   )
发起连接,

从而可以知道是节点1crash掉后,vip1只是漂移到节点2, 其实是通过vip2才连接上的。

3.客户端tnsname.ora中使用物理ip

点击(此处)折叠或打开

  1. RAC =
  2.   (DESCRIPTION =
  3.     (ADDRESS_LIST =
  4.       (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.80.101)(PORT = 1521))
  5.       (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.80.102)(PORT = 1521))
  6.     )
  7.     (CONNECT_DATA =
  8.       (SERVICE_NAME = rac)
  9.     )
  10.   )
发起连接:
可以连接上,但是物理ip是等待tcp/ip超时,然后才能通过ip2连接,所以等待的时间比较长。本次连接等待了30秒才连接上。

小结:
使用客户端使用vip发起连接,可以在第一时间返回错误然后马上用vip2发起连接,达到秒级响应。



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

下一篇: oracle 外部表使用
请登录后发表评论 登录
全部评论

注册时间:2014-04-07

  • 博文量
    5
  • 访问量
    21949