1,Server-Side TAF具有TAF的所有特点
2,Client-Side TAF 是在客户端修改tnsnames.ora 文件来配置的,如果有很多客户端使用这个数据库,那么每次微调整都需要把所有的客户端修改一遍,既低效又容易出错。而Service-Side TAF 通过结合Service,在数据库里保存FAIL_MODE的配置,把所有的TAF配置保存在数据字典中,从而省去了客户端的配置工作,客户端的配置则不需要进行任何改动
从配置参数而言,Service-Side TAF和TAF 相比多了一个Instance Role(实例角色)的概念。 所谓的实例角色,就是当有多个Instance 参与一个Service时,可以配置优先使用哪一个Instance为用户提供服务。用户共有两种可选角色。
PREFERRED:首选实例,会优先选择拥有这个角色的实例提供服务。
AVAILABLE: 后备实例,用户连接会优先连接PREFFERRED的Instance,当PREFERRED的Instance不可用时,才会被转到AVAILBALE的Instance上。
要使用Server-Side TAF必须配置Service。 Service 可以在创建数据库时创建,也可以在创建数据库之后修改,既可以使用dbca 配置向导,也可以用命令行的方式配置。
具体配置步骤
1,首先增加一个service,可以使用dbca或者使用命令行
使用命令行方式
srvctl add service -d hnzz -s STAF -r hnzz1 -a hnzz2 -P basic 为dbname为hnzz的数据库创建一个名称为SerTAF的service,hnzz1为首选实例,hnzz2为后备实例,TAF Policy为basic
srvctl start service -d hnzz -s STAF 启动刚创建的service
2,可以使用下面的命令查看创建的结果
$ srvctl config service -d hnzz -s STAF
SerTAF PREF: hnzz1 AVAIL: hnzz2
3,用service TAF 修改配置,需要用dbms_service.modify_service包。
begin
dbms_service.modify_service(
service_name=>'STAF',
failover_method =>dbms_service.failover_method_basic,
failover_type =>dbms_service.failover_type_select,
failover_retries =>180,
failover_delay=>5);
end;
/
4,确认修改已经生效
select NAME,FAILOVER_METHOD,FAILOVER_TYPE,FAILOVER_DELAY from dba_services where NAME='STAF';
5,数据库启动时,会自动启动所有的Service。有时为了为了维护需要,需要禁用这个特性,在维护完成后再启动这个特性。
srvctl enable service -d hnzz -s STAF
查看监听状态
[oracle@node1 ~]$ lsnrctl status
LSNRCTL for Linux: Version 10.2.0.5.0 - Production on 17-FEB-2014 09:53:35
Copyright (c) 1991, 2010, Oracle. All rights reserved.
Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
STATUS of the LISTENER
------------------------
Alias LISTENER_NODE1
Version TNSLSNR for Linux: Version 10.2.0.5.0 - Production
Start Date 17-FEB-2014 08:35:03
Uptime 0 days 1 hr. 18 min. 32 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /oracle/app/product/10.2.0/db_1/network/admin/listener.ora
Listener Log File /oracle/app/product/10.2.0/db_1/network/log/listener_node1.log
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.114.151)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.114.131)(PORT=1521)))
Services Summary...
Service "+ASM" has 1 instance(s).
Instance "+ASM1", status BLOCKED, has 1 handler(s) for this service...
Service "+ASM_XPT" has 1 instance(s).
Instance "+ASM1", status BLOCKED, has 1 handler(s) for this service...
Service "PLSExtProc" has 1 instance(s).
Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...
Service "STAF" has 1 instance(s).
Instance "hnzz2", status READY, has 1 handler(s) for this service...
Service "hnzz" has 1 instance(s).
Instance "hnzz2", status READY, has 1 handler(s) for this service...
Service "hnzzXDB" has 1 instance(s).
Instance "hnzz2", status READY, has 1 handler(s) for this service...
Service "hnzz_XPT" has 1 instance(s).
Instance "hnzz2", status READY, has 1 handler(s) for this service...
The command completed successfully
查看数据库中的service
SQL> show parameter service;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
service_names string STAF
客户端的tnsnames.ora的配置如下
HNZZ =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.114.151)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.114.152)(PORT = 1521))
(LOAD_BALANCE = yes)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = STAF)
)
)
![](data:image/png;base64,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)
图中的两个是我在关闭实例1之前和之后的链接状态
二,删除service
1,首先停止service
srvctl stop service -d hnzz -s STAF
禁用开机启动
srvctl disable service -d hnzz -s STAF
2,删除服务
srvctl remove service -d hnzz -s STAF
$ srvctl remove service -d hnzz -s STAF
STAF PREF: hnzz1 AVAIL: hnzz2
Service STAF is disabled.
Remove service STAF from the database hnzz? (y/[n]) Y
3,查看数据字典中的信息
select name,failover_method,failover_type,goal,clb_goal from dba_services;
4,从数据字典中删除service
begin
dbms_service.delete_service(service_name=>'STAF');
end;
/
删除名称为SerTAF的服务