Transaction Guard: A new feauture in version 12c. Transaction guard provides a way to keep track of transaction state by using a logical transaction identifier which maps to a dataabase transactio_id. If there is a failure, the applciation connection can query the transaction status using logical transaction_id to determine if a transaction is commited or not. There are two parameters when creating a service as transaciton guard. commit_outcome: to determine if a logical transaction is tracked or not. retention how long to retend in the database (default 86400 seconds = 1 day).
srvctl add service -d dba12c -service TGDBA12C -preferred DBA12C1 -available DBA12C2 -commit_outcome TRUE -retention 86400
Application Continuity:
Application Continuity is a new feature in 12c using the transaction guard. It attempts to mask the outage by rebuilding the database session and resubmitting the pending work. It used client-side JDBC driver 12c, Universal connection Pool 12c, and Oracle WeblOGIC sERVER 12.1.2 class.
-failovertype TRANSACTION
-commit_outcome TRUE
srvctl add service -d dba12c -service ACDBA12C -preferred DBA12C1 -available DBA12C2 -commit_outcome TRUE -retention 86400 -failovertype TRANSACTION -failoverretry 10 -failoverdelay 5 -replay_int_time 1200