Questo documento riporta i dettagli della tecnica di database flashback
per effettuare il ripristino di
un sito secondario di Disaster Recovery (DR) utilizzando il DG Broker.
Data Guard e' la soluzione piu' completa per
realizzare un sito di Disaster Recovery con
il database relazionale Oracle.
Il DG Broker semplifica la configurazione e la gestione di Data Guard
fornendo un'interfaccia a linea di comando che automatizza le principali procedure.
Il test di un sito secondario in una configurazione di Disaster Recovery
e' sempre impegnativo.
Dopo un test di DR di tipo distruttivo (READ/WRITE) e' necessario ripristinare i
contenuti della base dati secondaria.
Normalmente si utilizza un backup/restore ma questo, per basi dati di gradi dimensioni,
richiede molto tempo.
Inoltre durante tutto il tempo del ripristino la base dati secondaria
non e' utilizzabile come DR (la letteratura consiglia 2 secondari se richiesto dagli SLA).
L'utilizzo del flashback consente significativi risparmi di tempo nel ripristinare
il secondary database rendendo disponibile il sito di DR molto prima che con un
normale restore.
Normalmente dopo un test distruttivo su un'istanza secondaria di Data Guard
e' necessario effettuare un backup/restore partendo dalla produzione.
Se la quantita' di modifiche e' limitata si puo' utilizzare il flashback
per tornare indietro.
Con il flashback il tempo di rientro e' significativamente piu' basso ma
l'operativa e' un po' (leggi molto) piu' complessa.
La complessita' comunque ricade sul DBA e sul sito secondario,
quindi e' accettabile.
Vi sono un paio di regole. L'applicazione dell'applicazione dei Redo e' incompatibile con l'impostazione di un Restore Point, quindi va sospesa. L'SCN del restore point degli standby database deve essere piu' basso di quello del primary database
I comandi necessari sono:
Impostazione Restore Points -- stop redo shipment edit database "PROD_DR" set state=APPLY-OFF; -- creazione restore point su standby create restore point RST_01 GUARANTEE FLASHBACK DATABASE; -- creazione restore point sul primary create restore point RST_01 GUARANTEE FLASHBACK DATABASE; Avvio DR in scrittura shutdown immediate; startup mount; alter database open resetlogs; Esecuzione test applicativi Il DB secondario puo' essere utilizzato in scrittura dalle applicazioni. ATTEENZIONE: per i test accedere al DB secondario Ripristino DR flashback database to restore point RST_01; shutdown immediate; startup mount; -- Eventuale avvio di Active Data Guard -- alter database open read only; edit database "PROD_DR" set state=APPLY-ON; Dopo alcuni minuti la replica e' nuovamente allineate: show configuration; Configuration - PROD Protection Mode: MaxAvailability Databases: PROD - Primary database PROD_DR - Physical standby database Fast-Start Failover: DISABLED Configuration Status: SUCCESS
Un'altra pagina,
un poco piu' introduttiva sul Data Guard Broker e' questa
in cui vengono descritte le modalita' di configurazione.
Se il DR viene tenuto su a lungo o sono state eseguite attivita' significative (batch
pesanti) il flashback fallisce ed e' necessario ripristinare
il secondario con il metodo tradizionale (backup/restore da produzione o da secondario).
Titolo: Flashback con DG Broker
Se non viene utilizzato il DG Broker i passi da seguire sono un poco piu' complessi
come descritto in
questo documento e
nella nota ufficiale [ID 805438.1]:
How To Open Physical Standby For Read Write Testing and Flashback
Livello: Avanzato
Data:
31 Ottobre 2019 - Halloween
Versione: 1.0.1 - 31 Ottobre 2019
Autore: mail [AT] meo.bogliolo.name