Informazioni sulla continuità di applicazione in Autonomous Database

La continuità di applicazione maschera le indisponibilità da parte degli utenti finali e delle applicazioni recuperando il lavoro in corso per le sessioni di database interessate in seguito a interruzioni. La continuità di applicazione esegue questo recupero sotto l'applicazione in modo che l'indisponibilità venga visualizzata nell'applicazione come un'esecuzione leggermente ritardata.

Le tue applicazioni raggiungono la disponibilità continua quando la manutenzione pianificata, le interruzioni non pianificate e i ribilanciamenti del carico del database sono nascosti dall'applicazione. La combinazione di best practice per la codifica delle applicazioni, configurazione della continuità delle applicazioni e Autonomous Database garantisce la disponibilità continua delle applicazioni.

L'approccio migliore per nascondere le attività di manutenzione pianificate dalle applicazioni è quello di svuotare o eseguire il failover in modo trasparente delle applicazioni. I connection pool e i livelli medi di Oracle, inclusi il server WebLogic, Oracle Universal Connection Pool (UCP), il pool di sessioni OCI e il provider ODP.NET non gestito, sono a conoscenza della funzionalità FAN (Fast Application Notification) e pertanto ricevono una notifica quando è in corso la manutenzione su Autonomous Database per consentire un'interruzione regolare del lavoro prima della manutenzione. La continuità di applicazione viene eseguita durante la manutenzione pianificata per eseguire il failover delle sessioni che non vengono estratte nell'intervallo di rimozione predefinito (5 minuti su Autonomous Database).

Per nascondere le indisponibilità non pianificate derivanti da un componente o da un errore di comunicazione, Oracle fornisce:

  • Notifica. Il FAN è il primo passo per nascondere le interruzioni. FAN invia una notifica ai client e li interrompe dall'attesa di rete corrente quando si verifica un'interruzione. Ciò evita lo stallo delle applicazioni per lunghe attese di rete. Per Autonomous Database, FAN viene gestito dal driver e dal gestore della connessione cloud di Autonomous Database.

    La notifica FAN attiva automaticamente la chiusura delle connessioni inattive, l'apertura di nuove connessioni nella nuova posizione del servizio e consente un tempo configurabile per il completamento del lavoro attivo nella posizione del servizio di prossima chiusura. I principali mid-tiers JDBC di terze parti, come IBM WebSphere, consentono lo stesso funzionamento quando sono configurati con UCP. Per le applicazioni basate su JDBC che non possono utilizzare UCP, Oracle fornisce soluzioni utilizzando driver Oracle e test di connessione. Su Autonomous Database FAN per la manutenzione pianificata viene inviato in-Band.

  • Recupero. Una volta ricevuta la notifica al client, la gestione del failover con TAC (Transparent Application Continuity) o AC (Application Continuity) ristabilisce una connessione ad Autonomous Database e ripete le operazioni in esecuzione, senza commit, quando possibile. Ripetendo il lavoro in volo, l'applicazione può in genere continuare l'esecuzione senza sapere che si è verificato un errore.

È possibile abilitare la continuità di applicazione in Autonomous Database in una delle due configurazioni, a seconda dell'applicazione:

  • Continuità di applicazione (CA)

    La continuità delle applicazioni nasconde le interruzioni per le applicazioni sottili basate su Java e le applicazioni basate su Oracle Database Oracle Call Interface e ODP.NET con il supporto per driver open source, come Node.js e Python. Continuità di applicazione ricostruisce la sessione recuperando la sessione da un punto noto che include stati di sessione e stati transazionali. Continuità di applicazione ricostruisce tutti i lavori in volo. L'applicazione continua così com'era, vedendo un tempo di esecuzione leggermente ritardato quando si verifica un failover.

  • Continuità di applicazione trasparente (TAC)

    La TAC (Transparent Application Continuity) tiene traccia e registra in modo trasparente la sessione e lo stato delle transazioni in modo che la sessione del database possa essere recuperata in seguito a interruzioni recuperabili. Questa operazione non si basa sulla conoscenza dell'applicazione o sulle modifiche al codice dell'applicazione, consentendo l'abilitazione della continuità di applicazione trasparente per le applicazioni. La trasparenza e il failover dell'applicazione vengono ottenuti utilizzando le informazioni di tracciamento dello stato che acquisiscono e classificano l'uso dello stato della sessione quando l'applicazione emette chiamate degli utenti.

Per ulteriori informazioni sulla continuità di applicazione, vedere Panoramica sulla continuità di applicazione.

Nota

Per impostazione predefinita, la continuità di applicazione è disabilitata in Autonomous Database.