Improving Continuous Availability
Application Continuity (AC) is a feature available with the Oracle Real Application Clusters (RAC), Oracle RAC One Node and Oracle Active Data Guard options that masks outages from end users and applications by recovering the in-flight database sessions following recoverable outages. Application Continuity masks outages from end users and applications by recovering the in-flight work for impacted database sessions following outages. Application Continuity performs this recovery beneath the application so that the outage appears to the application as a slightly delayed execution.
Application Continuity is used to improve the user experience when handling both unplanned outages and planned maintenance. Application Continuity enhances the fault tolerance of systems and applications that use an Oracle database.
Available since Oracle Database 12c, Transaction Guard is a reliable protocol and tool that returns the outcome of the last in-flight transaction after outages that make the database session unavailable. It is used by Application Continuity to ensure that an in-flight transaction is committed successfully, no more than once.
Transaction Guard can also be used directly by applications to return a known outcome to the end users. Applications or infrastructure embed the Transaction Guard API's in their error handling and use Transaction Guard to return the real result when outages occur.
Transaction Guard guarantees correctness and scales to cloud and internet levels, with lower overheads and a great deal better performance, than home grown and external solutions can achieve for known commit outcome and at-most-once execution.