Overview

Application Continuity is a new feature and enhancement of the TAF and FCF. Application continuity is composed by two components:

Transactional Guard

Transactional Replay

In a nutshell, you will no more wonder if you have to redo your changes if a session is killed or the instance is terminated. Up to now, all your session data (including your transactional data) was wiped, once the instance is destroyed. However from Oracle Database 12c, you can configure a service to record your changes and replay them next time you connect as follows:

Service Creation

[oracle@enode01 labs]$ srvctl add service -db eastdb \ -service actest \ -preferred eastdb1 \ -available eastdb2 \ -clbgoal SHORT \ -rlbgoal SERVICE_TIME \ -failovertype TRANSACTION \ -commit_outcome TRUE \ -failoverretry 30 \ -failoverdelay 5 \ -retention 86400 \ -replay_init_time 1800 \

Startup

Check & Test

Now your service will failover to the other instance and the uncommited changes will be replayed. Therefore, any node failure will be transparent to the end user.

Application Changes

The application should be changed also be using the UPC = Universal Connection Pooling

Below you can see the source which I have used:

Once the code is compiled can be run via: