日期:2014-05-16  浏览次数:20550 次

Oracle 11gR2版本的Service创建和TAF方法

上次操作 DB Service (fail-over) 切换失败,在Oracle技术支持人员的帮助,以及搭建测试环境测试之后,得出如下结果:

 创建服务的命令:

 

srvctl add service -d racdb -s srv_test -r racdb1 -a racdb2 -P basic -e select -m basic -z 180 -w 5


两节点prefer:
srvctl add service -d racdb -s srv_rac  -r racdb1,racdb2    -P basic -e select -m basic -z 180 -w 5


srvctl relocate service -d racdb -s srv_test -i racdb2 -t racdb1

1、无论Service怎么创建,在SQLPLUS下使用命令shutdown immediate关闭数据库,Service可以正常Fail over切换成功

关闭数据库:

service正常切换,Fail over 到另一个instance

 

2、创建服务时使用-r -a参数,各一个instance,Service无法切换,需要加-f参数才能切换成功

  如:

  srvctl add service ....-r racdb1  -a racdb2 ....

  关闭instance1时,服务会自动OFFLINE,无法切换

 

这种情况下,正如Oracle技术支持人员给出的答案,需要在使用srvctl关闭数据库使用 -f参数,即可切换服务成功

   srvctl stop instance -d racdb -i racdb1 -f

3、创建服务时使用 -r参数,而且参数里包括多个instance,这时使用srvctl关闭instance1,Service可以正常切换,不需要加-f参数

  如:

     srvctl add service ...... -r racdb1,racdb2 ...

   srvctl关闭数据库:

   Service正常切换:

总结:

  Oracle 11gR2 RAC(11.2.0.3)在创建service,可以根据创建service的命令,或者关闭instance的命令来实现Service的fail over正常切换。

(** 所有的测试结果仅仅是个人测试结果,非官方