配置Server-Side TAF

        Server-side TAF相比起client-side TAF、TAF的好处就是当客户端数量较多时,不必每次微小的参数修改都要逐个客户端进行修改。Server-side TAF通过结合service,在数据库里保存FAIL_MODE的配置,把所有的TAF配置保存在数据字典中,从而省去了客户端TNS文件配置。

        Server-side TAF和TAF相比多了一个instance Role的概念。所谓“实例角色”,就是当有多个实例节点参与一个serveice时,可以配置哪个instance为用户提供服务。用户共有两种角色可选。

PREFERRED:首选实例,会优先选择拥有逐个角色的实例提供服务。

AVAILABLE:后备实例,用户连接会优先连接PERFERRED的instance,当出现PERFERRED不可用时,会被转移到AVAILABEL的instance上。

       

1.执行在其中一个节点执行DBCA,当出现欢迎界面时,由于我们是RAC,所以我们要选择“ORACLE Real Application Clusters database”,然后NEXT。

2.进入第二个界面,选择“services management”,NEXT。

3.第三个界面的出现会列出已有的数据库名列表,选择现有的“DEVDB”,然后NEXT。

4.在service配置界面中,单击“add”创建新的service,并输入service的名字,然后配置TAF选项。其中instance 列表框是用来定义实例角色,这里选择devdb1作为“perferred”首选实例,devdb2作为“AVAILABLE”后备实例(我选择两个节点 都是“perferred”首选实例,因为所有连接都连接到devdb1,这可能实现不了负责均衡,猜测猜测。。。)。TAF policy:选择“basic”(在感知到节点故障时,才转移到其他节点),然后“finish”,完成。


查看是否成功注册到CRS resource当中


rac1-> crs_stat -t

Name           Type           Target    State     Host        

------------------------------------------------------------

ora....ATAF.cs application    ONLINE    ONLINE    rac2        

ora....db1.srv application    ONLINE    ONLINE    rac1        

ora....db2.srv application    ONLINE    ONLINE    rac2        

ora.devdb.db   application    ONLINE    ONLINE    rac2        

ora....b1.inst application    ONLINE    ONLINE    rac1        

ora....b2.inst application    ONLINE    ONLINE    rac2        

ora....SM1.asm application    ONLINE    ONLINE    rac1        

ora.rac1.gsd   application    ONLINE    ONLINE    rac1        

ora.rac1.ons   application    ONLINE    ONLINE    rac1        

ora.rac1.vip   application    ONLINE    ONLINE    rac1        

ora....SM2.asm application    ONLINE    ONLINE    rac2        

ora.rac2.gsd   application    ONLINE    ONLINE    rac2        

ora.rac2.ons   application    ONLINE    ONLINE    rac2        

ora.rac2.vip   application    ONLINE    ONLINE    rac2        

rac1-> 


配置这个服务自动启动

rac1-> srvctl enable service -d devdb -s HATAF

PRKP-1018 : Service HATAF already enabled.  # 我的已经自动启动了


查看初始化参数

这个服务已经自动添加到初始化参数当中。

SQL> show parameter service

 

NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------

service_names                        string      devdb_rac, HATAF   


确认生效

rac1-> srvctl config service -d devdb -s HATAF -a

HATAF PREF: devdb2 devdb1 AVAIL:  TAF: basic

 

 

删除

rac1-> srvctl stop service -d devdb -s HATAF

rac1-> srvctl disable service -d devdb -s HATAF

 

rac1-> srvctl remove service -d devdb -s HATAF

HATAF PREF: devdb2 devdb1 AVAIL: 

Service HATAF is disabled.

Remove service HATAF from the database devdb? (y/[n]) y

在OCR中的内容已经删除了,但数据字典还保留着service的内容,继续清楚数据字典

 

SQL> begin

  2  dbms_service.delete_service(service_name=>'HATAF');

  3  end;

  4  /

PL/SQL procedure successfully completed.

执行 搞定~

 

SQL> show parameter service

 

NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------

service_names                        string      devdb_rac

posted @ 2011-12-12 18:29  【小洲】  阅读(755)  评论(0编辑  收藏  举报