Pianificare il recupero da errori irreversibili per i database

È possibile utilizzare Oracle GoldenGate, Active Data Guard e Autonomous Data Guard per implementare il recupero da errori irreversibili per i database distribuiti in Oracle Cloud.

  • Active Data Guard offre protezione dei dati completa, alta disponibilità e recupero da errori irreversibili per Oracle Database in modo semplice ed economico mantenendo una replica fisica sincronizzata (standby) di un database di produzione in una posizione remota. Il database in standby è aperto in sola lettura durante il trasferimento, la convalida e il recupero dei redo.

    A differenza dei metodi di replica di storage standard, Active Data Guard replica solo i redo log in memoria e convalida la replica per evitare danni.

  • Oracle GoldenGate è un prodotto di replica logica avanzata che supporta la replica multimaster, la distribuzione hub e spoke e la trasformazione dei dati. GoldenGate offre ai clienti opzioni flessibili per soddisfare l'intera gamma di requisiti di replica, incluse piattaforme hardware eterogenee.
  • Autonomous Data Guard fornisce la protezione dei dati e il recupero da errori irreversibili per le tue istanze di database autonome in Oracle Cloud. Quando abiliti Autonomous Data Guard per un'istanza di database autonoma, un database in standby viene creato nella stessa area. Nelle aree con più domini di disponibilità, il provisioning del database in standby viene eseguito in un dominio di disponibilità diverso da quello del database primario. Nelle aree con un singolo dominio di disponibilità, il provisioning del database in standby viene eseguito su un computer fisico diverso da quello del database primario. Autonomous Data Guard monitora l'istanza primaria e il failover automatico al database in standby se il database primario diventa non disponibile.

Informazioni su Oracle Maximum Availability Architecture

Oracle Maximum Availability Architecture (MAA) è una serie di procedure ottimali per l'uso integrato delle tecnologie di Oracle High Availability. Le best practice MAA descrivono architetture standard progettate per raggiungere diversi obiettivi a livello di servizio per requisiti di alta disponibilità e protezione dei dati. I livelli di architettura MAA Bronze, Silver, Gold e Platinum sono progettati per raggiungere diversi obiettivi a livello di servizio e ti offrono opzioni per alta disponibilità, protezione dei dati e recupero da errori irreversibili.

Ognuno dei seguenti livelli MAA utilizza un set ottimale di funzionalità Oracle che, quando vengono distribuite insieme, raggiungono in modo affidabile i livelli di servizio target per indisponibilità non pianificate ed eventi di manutenzione pianificati:

  • bronzo

    Il livello Bronze offre un servizio di database di base al costo più basso possibile. Viene accettato un livello ridotto di alta disponibilità e protezione dei dati in cambio di una ridotta complessità a livello di costi e implementazione. Questa architettura può essere adatta ai database utilizzati per test, sviluppo e applicazioni e database di produzione meno critici.

    L'architettura utilizza le funzionalità di alta disponibilità incluse in Oracle Enterprise Edition. L'impostazione predefinita di Bronze è l'architettura a istanza singola o multi-tenant di Oracle Database. Le funzionalità Oracle Restart o Oracle Clusterware High Availability vengono utilizzate per riavviare un'istanza non riuscita, un database server o qualsiasi servizio gestito pertinente. Per i danneggiamenti logici come gli errori umani, è possibile utilizzare le operazioni Flashback per "ripristinare" il database in un point-in-time specifico. Nello scenario peggiore di un'indisponibilità completa del sito, è necessario altro tempo per ripristinare e recuperare il sistema e il database dai backup che possono causare ore o giorni di inattività.

    Un backup locale all'interno dello stesso data center è sempre consigliato per il ripristino più veloce. Inoltre, Oracle consiglia di mantenere una seconda copia dei backup in un data center remoto per proteggersi da indisponibilità e calamità del sito. Puoi utilizzare Oracle Database Backup Cloud Service per gestire un backup dei database on premise basato su cloud.

  • Silver

    Il livello Silver è progettato per database che non possono permettersi di attendere un riavvio a freddo o un ripristino dal backup, in caso di guasto di un'istanza di database irreversibile o di un server. Questa architettura può risultare adatta per le applicazioni di produzione business-critical e che devono ridurre i tempi di inattività per i guasti locali e le attività di manutenzione pianificate più comuni.

    L'architettura Silver si basa sull'architettura Bronze e aggiunge il cluster attivo-attivo Oracle Real Application Clusters (Oracle RAC) per tempi di inattività minimi o nulli in caso di errore dell'istanza di database o del server, nonché nessun tempo di inattività del database per eventi di manutenzione pianificati più comuni.

    Proprio come nell'architettura Bronze, Recovery Manager (RMAN) fornisce backup ottimizzati per i database per ripristinare la disponibilità in caso di guasto o disastro del cluster completo.

  • Oro

    Il livello Gold è progettato per i requisiti del livello di servizio che non possono tollerare lunghi periodi di inattività e perdita dei dati. Questo set di pattern di architettura offre alta disponibilità e protezione completa dei dati per tutti i tipi di indisponibilità non pianificate, inclusi danneggiamenti dei dati, errori del database e indisponibilità del sito. Le applicazioni di produzione mission critical che richiedono tempi di ripristino rapidi e perdita di dati minima o nulla per tutte le interruzioni di database e di sistema e le attività di manutenzione pianificate beneficeranno delle funzionalità incluse nell'architettura di riferimento Gold.

    L'architettura di riferimento Gold, basata sull'architettura di riferimento Silver, offre quattro pattern di architettura con Oracle Active Data Guard. I pattern variano da un singolo database in standby attivo remoto con Fast Start Failover e HA Observer, a più configurazioni di database in standby, tra cui le raccolte di lettori in standby e, infine, una configurazione di standby a perdita di dati di gran lunga (tra le aree) zero.

  • Platino

    Il livello Platinum ha la possibilità di garantire tempi di inattività nulli per interruzioni e attività di manutenzione pianificate non raggiungibili con l'architettura Gold. L'architettura Platinum si basa sull'architettura Gold aggiungendo la replica Oracle GoldenGate per eliminare i tempi di inattività per le migrazioni, gli upgrade dell'applicazione e gli upgrade del database. Ogni database Oracle GoldenGate è protetto da un database in standby per garantire alcuna perdita di dati in caso di errore del database, del cluster o del sito.

    A differenza delle altre architetture MAA, sono necessarie considerazioni sull'applicazione per integrare Oracle GoldenGate nell'architettura per garantire che il rilevamento e la risoluzione dei conflitti vengano eseguiti correttamente. Inoltre, potrebbero essere necessari Global Data Services o la gestione personalizzata dei servizi applicativi per evitare tempi di inattività delle applicazioni per attività quali la migrazione e gli aggiornamenti del database.

Usa Active Data Guard

Data Guard offre un set completo di servizi che possono creare, gestire, gestire e monitorare uno o più database in standby per consentire ai database Oracle di produzione di sopravvivere a disastri e danneggiamenti dei dati. Data Guard gestisce questi database in standby come copie coerenti a livello di transazione del database di produzione. La maggior parte delle procedure ottimali di Active Data Guard viene definita, testata e convalidata nell'ambito delle architetture di riferimento nel livello MAA Gold.
Se il database di produzione diventa non disponibile a causa di un'interruzione pianificata o non pianificata, Data Guard può passare da qualsiasi database in standby al ruolo di produzione, riducendo al minimo i tempi di inattività associati all'interruzione. Data Guard può essere utilizzato con tecniche tradizionali di backup, ripristino e cluster per fornire un livello elevato di protezione e disponibilità dei dati.

Vantaggi di Active Data Guard

Active Data Guard offre diversi vantaggi.

  • Replica fisica sicura.

    Il database in standby è aperto in sola lettura e garantisce la coerenza dei dati.

    A partire da Oracle Database 19c, è possibile eseguire aggiornamenti occasionali e inserire istruzioni al database in standby, che reindirizzano le istruzioni al database primario.

  • Replica semplice, rapida e unidirezionale di un Oracle Database completo.

    La configurazione predefinita gestisce la maggior parte dei carichi di lavoro, pertanto il sovraccarico amministrativo è ridotto.

  • Nessun vincolo.

    Oracle Data Guard Redo Apply supporta tutte le funzioni Oracle e replica in modo trasparente tutti i tipi di dati e storage, i package PL/SQL e DDL senza considerazioni speciali.

  • Migliore protezione dei dati.

    La replica diretta dalla memoria isola il database in standby dal danneggiamento di I/O che può verificarsi nel database primario. Rileva il danneggiamento silenzioso della scrittura che può verificarsi indipendentemente nel database primario o in standby. Rileva e corregge automaticamente il danneggiamento dei blocchi fisici che può verificarsi in modo indipendente sul database primario o in standby.

  • Scelta di sincrono con nessuna perdita di dati o asincrono con protezione da perdita di dati quasi nulla.
  • RoI migliorato.

    Puoi scaricare carichi di lavoro di sola lettura, ad esempio applicazioni di reporting, query ad hoc ed estrazioni di dati, in un database in standby fisico sincronizzato.

  • Un singolo comando converte un database in standby fisico come sistema di test aperto di lettura/scrittura. Un secondo comando lo converte in un database in standby fisico e lo risincronizza con il database primario. I dati primari sono sempre protetti.
  • Gestione integrata di una configurazione completa con la riga di comando di Oracle Data Guard Broker e failover automatico del database.
  • Supportato per la configurazione di database a nodo singolo o a nodo multiplo (Real Application Cluster).
  • Continuità di applicazione, per la protezione in-flight delle transazioni.

    Active Data Guard maschera le interruzioni del database da utenti e applicazioni finali recuperando il lavoro in-flight per le sessioni di database interessate.

Modalità di configurazione

  • Protezione massima
    Questa modalità di protezione non comporta alcuna perdita di dati in caso di errore del database principale. Per garantire che non si verifichino perdite di dati, il database primario viene chiuso se un errore impedisce la scrittura del flusso di redo nel redo log in standby di almeno un database in standby.

    Nota:

    Questa modalità non è disponibile per i database autonomi. Per Exadata Cloud Service ed Exadata Cloud@Customer, è possibile configurare questa modalità manualmente, ma il piano di controllo cloud non la rifletterà.
  • Disponibilità massima

    Questa modalità di protezione fornisce il livello massimo di protezione dei dati possibile senza compromettere la disponibilità del database primario. Analogamente alla modalità Protezione massima, viene eseguito il commit di una transazione solo dopo che il redo necessario per recuperarla è stato scritto nel redo log in linea locale e nel redo log in standby di almeno un database in standby coerente con la transazione. A differenza della modalità Protezione massima, il database primario non viene chiuso se un errore impedisce la scrittura del flusso di redo in un redo log in standby remoto. In alternativa, il database primario e la configurazione Data Guard vengono retrogradate allo stato UNSYNCHRONIZED. Quando è disponibile almeno un database in standby, il database in standby viene risincronizzato automaticamente.

  • Prestazioni massime

    Questa modalità di protezione (la modalità predefinita) fornisce il livello massimo di protezione dei dati possibile senza alcun effetto sulle prestazioni del database primario. A tale scopo, è possibile eseguire il commit di una transazione quando i redo dati necessari per recuperarla vengono scritti in modo asincrono nel redo log in linea locale. Quando si utilizzano collegamenti di rete con larghezza di banda sufficiente, questa modalità fornisce un livello di protezione dei dati che si avvicina a quello della modalità Disponibilità massima con un impatto minimo sulle prestazioni del database primario.

Considerazioni sul posizionamento del database

Per migliorare la disponibilità e il recupero da errori irreversibili, inserire il sistema DB del database in standby in un dominio di disponibilità diverso da quello del sistema DB del database primario.

Se abiliti Data Guard per un database e il database in standby si trova nello stesso dominio di disponibilità del database primario (a scelta o perché l'area dispone di un singolo dominio di disponibilità), posizionare il database in standby in un dominio di errore diverso da quello del database primario.

Se i database primario e in standby sono sistemi DB virtual machine RAC a 2 nodi e entrambi si trovano nello stesso dominio di disponibilità, è consigliabile distribuire tutti e quattro i nodi (due per database primario e due per il database in standby) in tutti e tre i domini di errore nel dominio di disponibilità. Questa configurazione garantisce la massima disponibilità possibile, sfruttando tutti e tre i domini di errore. In questo scenario, solo uno dei due nodi del database in standby può trovarsi in un dominio di errore che non include altri nodi dal database primario o in standby.

Per garantire transizioni ottimali dei ruoli tra il database primario e il database in standby, Oracle consiglia di dimensionare e configurare i due database in modo simmetrico.

Procedure ottimali di configurazione

Consulta la sezione "Oracle Data Guard Best Practices" in Oracle Database High Availability Overview and Best Practices.

Utilizzare Oracle GoldenGate

Oracle GoldenGate è un package software completo per l'integrazione e la replica dei dati in tempo reale in ambienti IT eterogenei. Il set di prodotti consente soluzioni ad alta disponibilità, integrazione dei dati in tempo reale, acquisizione dei dati delle modifiche transazionali, replica dei dati, trasformazioni e verifica tra sistemi aziendali operativi e analitici. La maggior parte delle migliori prassi di Oracle GoldenGate viene definita, testata e convalidata come parte delle architetture di riferimento nel livello MAA Platinum.
Utilizzare Oracle GoldenGate quando un database di replica deve essere aperto in lettura/scrittura mentre la replica è attiva, inclusi gli scenari riportati di seguito.
  • Requisiti di replica avanzati, quali replica multimaster e bidirezionale, replica subset, replica molti-a-uno, replica cross-endian e trasformazioni dei dati
  • Manutenzione e migrazioni che richiedono zero tempi di inattività mediante la replica bidirezionale
  • Migrazione multipiattaforma che non è supportata da Data Guard (ad esempio, migrazione tra piattaforme di tipo endian)
  • Supporto per sistemi distribuiti in più versioni DB (ad esempio, la replica 1 si trova sulla versione 12.2 e la replica 2 sulla versione 19c)
  • Supporto per le piattaforme cross-DB (ad esempio, la replica 1 si trova su Oracle e la replica 2 si trova su piattaforme non Oracle DB)

Modalità di configurazione

Utilizza l'architettura dei microservizi Oracle GoldenGate che offre una piattaforma di replica sicura, completa e scalabile nel cloud. Per ridurre al minimo il sovraccarico nei database server, Oracle consiglia di distribuire GoldenGate nella configurazione hub.

GoldenGate supporta diverse topologie, come mostrato nel diagramma riportato di seguito. Scegliere una modalità adatta al caso d'uso.



Procedure ottimali di configurazione

Poiché Oracle GoldenGate replica i dati a livello di transazione, è consigliabile implementare il rilevamento e la risoluzione dei conflitti (CDR) per garantire la coerenza dei dati tra due siti. I conflitti vengono identificati immediatamente e gestiti con script automatici.

Se si utilizza GoldenGate principalmente per scopi di recupero da errori irreversibili e la replica è un solo metodo, è consigliabile aggiungere Data Guard tra due aree geografiche. In questo modo, una soluzione senza alcuna perdita di dati unita a una solida coerenza dei dati tra l'istanza primaria e Data Guard. Questa configurazione riduce anche il sovraccarico dell'esecuzione dell'estrazione GoldenGate dal database primario.

Segue la descrizione di db-dg-gg.png
Descrizione dell'immagine db-dg-gg.png

Nota:

L'architettura mostra più domini di disponibilità (AD). Per un'area con un singolo dominio di disponibilità, regolare l'architettura per distribuire le risorse nei domini di errore all'interno del dominio AD.

Distribuire Oracle GoldenGate nonché in una configurazione HA. È possibile utilizzare la replica ACFS (Oracle ASM Cluster File System) per i file GoldenGate critici.

Utilizzare Active Data Guard e GoldenGate

Oracle GoldenGate e Active Data Guard non si escludono a vicenda. È possibile utilizzarli insieme per ottenere un obiettivo RPO (Recupero Point Objective) pari a zero (ovvero, nessun rischio di perdita di dati), perché GoldenGate è di natura asincrona, mentre Active Data Guard è in grado di fornire una replica sincrona insieme ad altre funzioni chiave, quali la convalida dei blocchi di dati, la riparazione automatica dei blocchi e la continuità dell'applicazione.

Di seguito sono riportati alcuni scenari che utilizzano sia Oracle GoldenGate che Active Data Guard.
  • Utilizza un database in standby Active Data Guard per la protezione da errori irreversibili e gli upgrade in sequenza del database per un database OLTP mission-critical. Utilizzare GoldenGate per estrarre i dati dal database primario Data Guard (o dal database in standby utilizzando la modalità ALO GoldenGate) per l'aggiornamento ETL di un data warehouse aziendale.
  • Utilizzare la replica del subset GoldenGate per estrarre, trasformare e aggregare i dati da numerose origini dati in un data store operativo centrale (ODS). ODS supporta sistemi applicativi mission critical che generano ricavi significativi per l'azienda. Utilizza un database in standby Active Data Guard per proteggere ODS, offrendo protezione e disponibilità ottimali dei dati.
  • Utilizzare la replica multimaster GoldenGate per sincronizzare diversi database, ciascuno presente in aree geografiche diverse. Ogni copia GoldenGate dispone del proprio database in standby Data Guard sincrono locale che abilita il failover senza perdita di dati, se si verifica un'interruzione.

Nota:

Per implementare l'architettura di massima disponibilità a livello Platinum, utilizza Oracle Real Application Clusters (Oracle RAC), Active Data Guard e Oracle GoldenGate.