Flashback con DG Broker

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.

Passi previsti

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

Note

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).
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


Titolo: Flashback con DG Broker
Livello: Avanzato (3/5)
Data: 31 Ottobre 2019 - Halloween
Versione: 1.0.1 - 31 Ottobre 2019
Autore: mail [AT] meo.bogliolo.name