Πώς να γυρίσουμε μία Oracle Database πίσω στον χρόνο με χρήση restore point σε περιβάλλον Data Guard

Πώς να γυρίσουμε μία Oracle Database πίσω στον χρόνο με χρήση restore point σε περιβάλλον Data Guard
Πώς να γυρίσουμε μία Oracle Database πίσω στον χρόνο με χρήση restore point σε περιβάλλον Data Guard

Σε προηγούμενο άρθρο είχαμε δει πως μπορούμε να γυρίσουμε μία Oracle Database πίσω στον χρόνο μέσω flashback database to guaranteed restore point. Σε αυτό το άρθρο θα δούμε τι διαδικασία ακολουθούμε σε περίπτωση που έχουμε primary και standby βάσεις δεδομένων σε περιβάλλον Data Guard.

Τα βήματα

Τα βήματα που πρέπει να ακολουθήσουμε είναι διαφορέτικά αν έχουμε έκδοση 19c ή νεώτερη, οπότε θα ακολουθήσουμε διαφορετικά βήματα αναλόγως την έκδοση και το state της.

Τα βήματα με Oracle Database 19c ή νεώτερη στη περίπτωση που η standby database είναι σε mount state

Δημιουργία Guarantee Restore Point

Στη primary

Για αρχή δημιουργούμε το guarantee restore point στο primary:

sqlplus / as sysdba

create restore point rpoint guarantee flashback database;

exit;

Ελέγχουμε ότι έχει δημιουργηθεί το Restore Point

Σε Primary και Standby

Τρέχουμε το παρακάτω query σε όλα τα sides ώστε να είμαστε σίγουροι ότι έχει δημιουργηθεί το restore point:

select name,space_used/1024/1024/1024 from v$recovery_file_dest;
select time,name,storage_size/1024/1024/1024 from v$restore_point;

Ελέγχουμε το open mode στις standby databases

Για να δούμε τι βήματα θα ακολουθήσουμε για την επαναφορά θα πρέπει να βεβαιωθούμε το open mode των standby, σε αυτά τα βήματα θα πρέπει να είναι σε mount state αλλιώς θα πρεπει να ακολουθήσουμε τα βήματα που αναφέρονται παρακάτω σε άλλη κατηγορία:

select open_mode from gv$database;

Απενεργοποιούμε το fast-start failover

Αν χρειαστεί να επαναφέρουμε την βάση δεδομένων και έχουμε ενεργοποιημένο το fast-start failover στο Data Guard πρέπει να το απεργοποιήσουμε(δεν έχει σημασία από που θα συνδεθούμε):

dgmgrl /

disable fast_start failover force;

exit;

Flashback στο Guaranteed Restore Point

Σε αυτό το σημείο είμαστε έτοιμοι να γυρίσουμε τις βάσεις δεδομένων στο restore point, αφού όμως πρώτα σταματήσουμε την primary και την γυρίσουμε σε mount state.

Στο primary

Τρέχουμε τα παρακάτω στο primary ώστε να γίνει η επαναφορά και να ανοίξει η βάση δεδομένων:

sqlplus / as sysdba

shutdown immediate
startup mount
flashback database to restore point rpoint;
alter database open resetlogs;

exit;

Ενεργοποιούμε το fast-start failover

Αφου ολοκληρωθεί η επαναφορά, συνδεόμαστε στο Data Guard broker (δεν έχει σημασία από που) ενεργοποιούμε το fast-start failover (αν ήταν ενεργοποιημένο):

dgmgrl /

show configuration
enable fast_start failover; 

exit;

Διαγραφή των Restore points

Τέλος συνδεόμαστε στη primary βάση και σβήνουμε το restore point (θα τον σβήσει και απο τις standby):

sqlplus / as sysdba

select name,space_used/1024/1024/1024 from v$recovery_file_dest;
select time,name,storage_size/1024/1024/1024 from v$restore_point;
--drop restore point rpoint;

exit;

Τα βήματα για εκδόσεις πριν την Oracle Database 19c ή αν είναι η standby database είναι σε read only with apply state

Δημιουργία Guarantee Restore Point

Στη primary

Σαν πρώτο βήμα δημιουργούμε το guarantee restore point όπως και πριν:

sqlplus / as sysdba

create restore point rpoint guarantee flashback database;

exit;

Ελέγχουμε ότι έχει δημιουργηθεί το Restore Point

Σε Primary και Standby

Τρέχουμε το παρακάτω query σε όλα τα sides ώστε να είμαστε σίγουροι ότι έχει δημιουργηθεί το restore point και να κρατήσουμε το όνομα του καθώς στο standby θα έχει διαφορετικό όνομα:

select name,space_used/1024/1024/1024 from v$recovery_file_dest;
select time,name,storage_size/1024/1024/1024 from v$restore_point;

Απενεργοποιούμε το fast-start failover

Αν χρειαστεί να επαναφέρουμε την βάση δεδομένων και έχουμε ενεργοποιημένο το fast-start failover στο Data Guard πρέπει να το απεργοποιήσουμε(δεν έχει σημασία από που θα συνδεθούμε):

dgmgrl /

disable fast_start failover force;

exit;

Flashback στο Guaranteed Restore Point

Σε αυτό το σημείο είμαστε έτοιμοι να γυρίσουμε τις βάσεις δεδομένων στο restore point, αφού όμως πρώτα τις σταματήσουμε και τις ξεκινήσουμε σε mount state.

Σταματάμε το replication

Πρώτα σταματάμε το transfer και το apply των αρχείων στο standby:

dgmgrl /

edit database oradev set state = 'TRANSPORT-OFF';
edit database oradev_dr set state = 'APPLY-OFF';

exit;

Κάνουμε flashback το primary

Στη συνέχεια κάνουμε flashback το primary αφού πρώτα κάνουμε restart σε mount state:

sqlplus / as sysdba

shutdown immediate;
startup mount;
flashback database to restore point rpoint; 
alter database open resetlogs;    

exit;

Κάνουμε flashback το standby

Έπειτα κάνουμε την ίδια διαδικασία στο standby αλλάζοντας το όνομα του restore point:

sqlplus / as sysdba

shutdown immediate;
startup mount;
flashback database to restore point rpoint_PRIMARY;

exit;

Ενεργοποιούμε το Data Guard

Αφου ολοκληρωθεί η επαναφορά, συνδεόμαστε στο Data Guard broker (δεν έχει σημασία από που) ενεργοποιούμε το configuration του Data Guard και το fast-start failover (αν ήταν ενεργοποιημένο):

dgmgrl /

edit database oradev set state = 'TRANSPORT-ON';
edit database oradev_dr set state = 'APPLY-ON';
enable fast_start failover;

exit;

Διαγραφή των Restore points

Τέλος συνδεόμαστε στη primary βάση και σβήνουμε το restore point (θα τον σβήσει και απο τις standby):

sqlplus / as sysdba

select name,space_used/1024/1024/1024 from v$recovery_file_dest;
select time,name,storage_size/1024/1024/1024 from v$restore_point;
--drop restore point rpoint;

exit;

Πηγές:

Μοιράσου το

Αφήστε μία απάντηση