About Application Continuity on Autonomous Database

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.

Your applications achieve continuous availability when planned maintenance, unplanned outages, and load rebalances of the database are hidden from the application. The combination of application coding best practices, application continuity configuration, and Autonomous Database ensures that your applications are continuously available.

The best approach for hiding planned maintenance activities from your applications is to transparently drain or failover applications. Oracle’s connection pools and mid-tiers, including the WebLogic Server, Oracle Universal Connection Pool (UCP), OCI session pool and ODP.NET Unmanaged Provider are Fast Application Notification (FAN ) aware and therefore are notified when maintenance is underway on Autonomous Database to allow graceful draining of work before maintenance. Application Continuity runs during planned maintenance to failover those sessions that do not drain in the predefined drain interval (5 minutes on Autonomous Database).

In order to hide unplanned outages resulting from a component or communication failure Oracle provides:

  • Notification. FAN is the first step to hiding outages. FAN notifies clients and breaks them out of their current network wait when an outage occurs. This avoids stalling applications for long network waits. For Autonomous Database, FAN is handled at the driver and by the Autonomous Database cloud connection manger.

    FAN notification automatically triggers closing idle connections, opening new connections in the new service location, and allows a configurable time for active work to complete in the soon-to-be-shutdown service location. The major third-party JDBC mid-tiers, such as IBM WebSphere, allow for the same behavior when configured with UCP. For JDBC-based applications that cannot use UCP, Oracle provides solutions using Oracle Drivers and connection tests. On Autonomous Database FAN for planned maintenance is sent in-Band.

  • Recovery. After the client is notified, failover handling with Transparent Application Continuity (TAC) or Application Continuity (AC) re-establishes a connection to the Autonomous Database and replays in-flight, uncommitted, work when possible. By replaying in-flight work, the application can usually continue executing without knowing that any failure happened.

You enable Application Continuity on Autonomous Database in one of two configurations, depending on the application:

  • Application Continuity (AC)

    Application Continuity hides outages for thin Java-based applications, and Oracle Database Oracle Call Interface and ODP.NET based applications with support for open-source drivers, such as Node.js, and Python. Application Continuity rebuilds the session by recovering the session from a known point which includes session states and transactional states. Application Continuity rebuilds all in-flight work. The application continues as it was, seeing a slightly delayed execution time when a failover occurs.

  • Transparent Application Continuity (TAC)

    Transparent Application Continuity (TAC) transparently tracks and records session and transactional state so the database session can be recovered following recoverable outages. This is done with no reliance on application knowledge or application code changes, allowing Transparent Application Continuity to be enabled for your applications. Application transparency and failover are achieved by consuming the state-tracking information that captures and categorizes the session state usage as the application issues user calls.

See Overview of Application Continuity for more information on Application Continuity.

Note:

By default Application Continuity is disabled on Autonomous Database.