Oracle Database 10g Release 2, introduces server-side TAF when using services. After you create a service, you can use the dbms_service.modify_service pl/sql procedure to define the TAF policy for the service. Only the basic method is supported. Note this is different than the TAF policy (traditional client TAF) that is supported by srvctl and EM Services page.

If your service has a server side TAF policy defined, then you do not have to encode TAF on the client connection string.

If the instance where a client is connected, fails, then the connection will be failed over to another instance in the cluster that is supporting the service. All restrictions of TAF still apply.

NOTE: both the client and server must be 10.2 and aq_ha_notifications must be set to true for the service.

Sample code to modify service:

execute dbms_service.modify_service (service_name => '' -
, aq_ha_notifications => true -
, failover_method => dbms_service.failover_method_basic -
, failover_type => dbms_service.failover_type_select -
, failover_retries => 180 -
, failover_delay => 5 -
, clb_goal => dbms_service.clb_goal_long);

For complete Example of setting up TAF using Services , refer to : Setup-of-Services-in-RAC-with-FAN-and-TAF