Make Connection NON Load Balance But Failover to RAC

今天在Q群里有朋友问如何配置客户端以限制应用仅连接到特定的一个实例,而将其他实例作为Failover的对象;有网友称这是拿RAC来做双机热备。实际上在过去的8i 时代,OPS就是被人们用来充当一种升级版的双机热备的,因为双机热备仍只有1台服务器在运行,而OPS让原来闲置的备机资源也得到一定程度的利用,而且其MTTR要短于双机热备,所以虽然当时的OPS仍有着显著的性能问题(没有cache fusion),但仍有不少用户使用。

我们可以在tnsnames.ora文件中配置类似如以下2个服务别名来限制应用连接到某个特定实例,并支持client端的TAF。

FINANCE =
 (DESCRIPTION=
  (ADDRESS=
       (PROTOCOL=tcp)  
       (HOST=VRH1)  
       (PORT=1522)) 
  (CONNECT_DATA=
     (SERVICE_NAME=VPROD) 
     (INSTANCE_NAME=VPROD1) 
     (FAILOVER_MODE=
       (BACKUP=HR) 
       (TYPE=select) 
       (METHOD=basic))))

HR =
 (DESCRIPTION=
  (ADDRESS=
       (PROTOCOL=tcp)  
       (HOST=VRH2)  
       (PORT=1522)) 
  (CONNECT_DATA=
     (SERVICE_NAME=VPROD) 
     (INSTANCE_NAME=VPROD2)
     (FAILOVER_MODE=
       (BACKUP=FINANCE) 
       (TYPE=select) 
       (METHOD=basic))))

关于Load Balance和Failover的更多信息可以参见Dan Norris的<Oracle Real Application Clusters
Load Balancing and Failover Options>和Jeremy Schneider的<Oracle Services on RAC: Five
Things You Might Not Know>

沪ICP备14014813号-2

沪公网安备 31010802001379号