Pages

Wednesday, February 26, 2014

Configuring Transparent Application Failover (TAF)



Configuring Transparent Application Failover

The TAF policy can be configured either in the client-side TNS connection entry, defining the FAILOVER_MODE parameter within the CONNECT_DATA section, or at the server-side service attributes. When both methods are defined, the server-side service attributes take precedence.

The following table describes the parameters that are associated with the FAILOVER_MODE:

Parameter
Values
Description
TYPE
Session
When a user connection is lost due to an instance crash, a new session is automatically established on a surviving instance. This type of failover does not support replay of the queries that were in progress.
Select
Re-establishes the lost user connection on a surviving instance, and replays the queries that were in progress.
None
Is the default mode without failover functionality.
METHOD
Basic
Re-establishes the lost user connections at failover time. Doesn't require much work on the backup server until failover time.
Preconnect
Pre-establishes the connection on another instance to provide rapid failover facility.
DELAY

Specifies the amount of time (in seconds) to wait between connect attempts.
RETRIES

Specifies the number of re-attempts to connect after a failover.

The following types of transactions do not automatically fail over and must be restarted by TAF:

  • Transactional statements. Transactions involving INSERT, UPDATE, or DELETE statements are not supported by TAF.
  •  ALTER SESSION statements. ALTER SESSION and SQL*Plus SET statements do not fail over.
  • Transactions using temporary segments in the TEMP tablespace and global temporary tables do not fail over.
  • PL/SQL package states. PL/SQL package states are lost during failover.

EXECUTE DBMS_SERVICE.MODIFY_SERVICE (service_name => 'OLTP_SERVICE'
, 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);

2 comments:

  1. I like the helpful info you provide in your articles.
    I will bookmark your weblog and check again here frequently.
    I am quite certain I will learn plenty of new stuff right here!

    Best of luck for the next!

    Stop by my web blog: advertising led display

    ReplyDelete
    Replies
    1. Thanks so much and you are welcome anytime at my blog :)

      Delete