Application Continuity in Autonomous Database

Application Continuity verbirgt Ausfälle vor Endbenutzern und Anwendungen, indem die aktiven Vorgänge für betroffene Datenbanksessions nach Ausfällen wiederhergestellt werden. Application Continuity führt dieses Recovery im Hintergrund der Anwendung durch, so dass der Ausfall in der Anwendung leicht verzögert auftritt.

Ihre Anwendungen erreichen kontinuierliche Verfügbarkeit, wenn geplante Wartung, ungeplante Ausfälle und Load Rebalancing der Datenbank vor der Anwendung ausgeblendet werden. Die Kombination aus Best Practices für die Anwendungscodierung, Application-Continuity-Konfiguration und Autonomous Database stellt sicher, dass Ihre Anwendungen kontinuierlich verfügbar sind.

Der beste Ansatz, um geplante Wartungsaktivitäten in Ihren Anwendungen zu verbergen, ist das transparente Drainieren oder Failover von Anwendungen. Die Verbindungspools und Mid-Tiers von Oracle, einschließlich WebLogic Server, Oracle Universal Connection Pool (UCP), OCI-Sessionpool und nicht verwalteter Provider ODP.NET sind Fast Application Notification-(FAN-)fähig und werden daher benachrichtigt, wenn die Wartung in Autonomous Database ausgeführt wird, um ein ordnungsgemäßes Draining der Arbeit vor der Wartung zu ermöglichen. Application Continuity wird während der geplanten Wartung ausgeführt, um ein Failover der Sessions durchzuführen, die nicht im vordefinierten Drain-Intervall (5 Minuten in Autonomous Database) einen Drain-Vorgang ausführen.

Um ungeplante Ausfälle aufgrund eines Komponenten- oder Kommunikationsfehlers zu verbergen, stellt Oracle Folgendes bereit:

  • Benachrichtigung. FAN ist der erste Schritt zum Verbergen von Ausfällen. FAN benachrichtigt Clients und beendet ihren aktuellen Netzwerk-Wait-Status, wenn ein Ausfall auftritt. Dadurch wird verhindert, dass Anwendungen durch lange Netzwerk-Waits blockiert werden. Für Autonomous Database wird FAN am Treiber und vom Autonomous Database Cloud Connection Manger verarbeitet.

    Die FAN-Benachrichtigung löst automatisch das Schließen inaktiver Verbindungen und das Öffnen neuer Verbindungen am neuen Serviceort aus und ermöglicht so eine konfigurierbare Zeit für den Abschluss aktiver Arbeiten an dem Serviceort, der in Kürze heruntergefahren wird. Die wichtigsten JDBC-Mid-Tiers von Drittanbietern, wie IBM WebSphere, ermöglichen bei Konfiguration mit UCP dasselbe Verhalten. Für JDBC-basierte Anwendungen, die UCP nicht verwenden können, stellt Oracle Lösungen mit Oracle-Treibern und Verbindungstests bereit. In Autonomous Database wird FAN für geplante Wartungsarbeiten In-Band gesendet.

  • Recovery. Nachdem der Client benachrichtigt wurde, stellt die Failover-Verarbeitung mit Transparent Application Continuity (TAC) oder Application Continuity (AC) erneut eine Verbindung zu Autonomous Database her und wiederholt nach Möglichkeit die aktive, nicht festgeschriebene Arbeit. Durch die Wiederholung der aktiven Arbeit kann die Anwendung in der Regel weiter ausgeführt werden, ohne über den Fehler informiert zu werden.

Sie aktivieren Application Continuity in Autonomous Database je nach Anwendung in einer von zwei Konfigurationen:

  • Anwendungskontinuität

    In Application Continuity werden Ausfälle für dünne Java-basierte Anwendungen sowie Oracle Database Oracle Call Interface- und ODP.NET-basierte Anwendungen mit Unterstützung für Open-Source-Treiber wie Node.js und Python ausgeblendet. Application Continuity erstellt die Session neu, indem die Session an einem Punkt wiederhergestellt wird, an dem Sessionstatus und Transaktionsstatus bekannt sind. Application Continuity erstellt alle aktiven Arbeiten neu. Die Anwendung wird unverändert fortgesetzt, jedoch mit einer leicht verzögerten Ausführungszeit bei einem Failover.

  • Transparent Application Continuity (TAC)

    Transparent Application Continuity (TAC) überwacht Session- und Transaktionsstatus transparent und zeichnet sie auf, sodass die Datenbanksession nach behebbaren Ausfällen wiederhergestellt werden kann. Hierfür sind keine Anwendungskenntnisse oder Anwendungscodeänderungen erforderlich, sodass Sie Transparent Application Continuity für Ihre Anwendungen aktivieren können. Anwendungstransparenz und Failover werden erreicht, indem die Statusverfolgungsinformationen verwendet werden, die den Sessionstatus erfassen und kategorisieren, wenn die Anwendung Benutzeraufrufe ausgibt.

Weitere Informationen zu Application Continuity finden Sie unter Überblick über Application Continuity.

Hinweis

Application Continuity ist in Autonomous Database standardmäßig deaktiviert.