Draining and Rebalancing Sessions for Planned Maintenance
- Draining of sessions is in wide use with Oracle connection pools and mid-tiers configured for Fast Application Notification (FAN).
- Starting with Oracle Database 18c, the database itself drains sessions when PDBs and instances are stopped or relocated.
- Failover solutions such as Application Continuity are the fallback when work will not drain in the time allocated.
Transparent Application Failover (TAF)
- TAF creates a new session and, when using SELECT mode, on demand, replays queries back to where they were before the failure occurred
- 12.2.0.1 -> FAILOVER_RESTORE -> Level1 (Default None) -> automatically restores the common initial state before replaying a request
- 18c onwards -> FAILOVER_TYPE= AUTO will set to FAILOVER_RESTORE = AUTO which is same as Level1
Application Continuity (AC)
- Application Continuity hides outages starting with Oracle database 12.1 for thin Java-based applications and Oracle Database 12.2.0.1
for OCI and ODP.NET based applications
- Application Continuity rebuilds the session by recovering the session from a known point which includes session states and transactional states
Transparent Application Continuity (TAC) -> 18C onwards
- transparently tracks and records the session and transactional state so the database session can be recovered following recoverable outages
https://www.oracle.com/technetwork/database/options/clustering/applicationcontinuity/applicationcontinuityformaa-6348196.pdf