Friday, 11 December 2015

RAC RUNTIME FAILOVER


RAC 11g/12c

One Of my Friend asked this question in oracle group,

Group Question:-
“I’m checking DML operation in RAC and found that transaction got rollback, if one of instance is crashed. User gets connected to other active instance.

Is it ok ?


or transaction should restart automatically or need to start manually,

But will it resume again.?”

G Discussion:-
In 11g After failover your entire transaction has failed, and will be rolled back using the same mechanism as for any aborted session, regardless of whether you reconnect using TAF or not.

Uncommited DML rollback and resubmitted after reconnect in 11g.
In 12c not rollback, but uncommitted transaction will be committed in case of any failure, Using the TAF parameter FAILOVER_TYPE TRANSATION, COMMIT_FAILOVER TRUE that’s new feature in 12c.
This feature not support in 11g.Failover auto resume work only SELECT statement on both version (11g,12c).  

NOTE:- In detail Follow 12c TAF parameter and syntax



Configure Services for Application Continuity (TAF NEW Feature in 12C)

» Set the service attributes using SRVCTL /GDSCTL to use Application Continuity,
» Set FAILOVER_TYPE to TRANSACTION to enable Application Continuity
» Set COMMIT_OUTCOMEto TRUE to enable Transaction Guard (mandatory)
» Also review the following service attributes:

» REPLAY_INITIATION_TIMEOUT : Set this to the duration in seconds after which replay is not  
    started (e.g. 180, 300, 1800 seconds –the override to cancel replay). This timer starts at
    beginRequest. (default 300 seconds)

» FAILOVER_RETRIES : Set this to specify the number of connection retries for each replay
   attempt. (default 30 retries, applied at replay driver)

» FAILOVER_DELAY : Set this to specify the delay in seconds between connection retries (default
   10 seconds, applied at replay driver)

» AQ_HA_NOTIFICATIONS: Set this to TRUE to enable FAN (default TRUE)

» Example
srvctl add service -db mts -service oltpworkload -role PRIMARY - notification TRUE -session_state dynamic -failovertype transaction –failovermethod basic -commit_outcome TRUE -failoverretry 30 –failoverdelay 10 -replay_init_time 900 -clbgoal SHORT -rlbgoal  
SERVICE_TIME -preferred mts1,mts2 -retention 3600 –verbose

No comments: