Guaranteed restore point

A Fronte di qualsiasi attività sul database (esempio UPGRADE / modifiche applicative) oltre al backup RMAN, oltre alla export e altri
tipi di salvataggio, un metodo veloce (soprattutto poi in caso di rollback) per avere un punto di consistenza è quello di creare
un GUARANTEED RESTORE POINT per un’eventuale rollback database.
Requisiti:
il parametro COMPATIBLE deve essere settato a 10.2 o superiore nel file initialization parameter del database.
il database deve essere attivo in ARCHIVELOG mode. L’operazione FLASHBACK DATABASE utilizzata per riportare il database a un punto di ripristino garantito richiede l’uso degli archive redo log per tutto il tempo fino al punto di ripristino desiderato.
la flash recovery area deve essere configurata
Se nel database la flashback non è abilitata , il database deve essere in mount , e non open , quando si crea il primo punto di ripristino garantito
Utilizzo:
## CREARE UN GUARANTEED RESTORE POINT PER UN’EVENTUALE ROLLBACK DATABASE
– Collegarsi al DB in sqlplus
– Creare un Guaranteed Restore Point assegnandogli un alias (esempio: POINT_PRE_UPGRADE) tramite comando:
set time on timing on
CREATE RESTORE POINT POINT_PRE_UPGRADE GUARANTEE FLASHBACK DATABASE;
– Verificare la corretta creazione del punto di restore con la seguente query da sqlplus
set lines 222
col TIME for a40
col name for a30
SELECT NAME, SCN, TIME, DATABASE_INCARNATION#, GUARANTEE_FLASHBACK_DATABASE,STORAGE_SIZE FROM V$RESTORE_POINT;
## COME ELIMINARE IL FLASHBACK GUARANTEED RESTORE POINT
– Drop del flashback guaranteed restore point
set time on timing on
DROP RESTORE POINT POINT_PRE_UPGRADE;
## COME ESEGUIRE L’OPERAZIONE DI FLASHBACK PER UN ROLLBACK DATABASE
– Aprire due sessioni SSH verso i due nodi RAC per monitorare gli alter log del DB durante le operazioni di Flashback, stop e start database
– Collegarsi alla macchina del DB con un’altra sessione
– Effettuare lo stop database
srvctl stop database -d NOME_DATABASE
– Assicurarsi che tutte le istanze del DB NON siano in stato running (devono essere in SHUTDOWN)
srvctl status database -d NOME_DATABASE
– Collegarsi in sqlplus all’istanza 1 del DB
Esempio:
[oracle@nomemacchina ~]$ . oraenv
ORACLE_SID = [TEST1] ? TEST1
The Oracle base for ORACLE_HOME=/sw/oracle/db/11.2 is /sw/oracle/orabase/oracle
[oracle@nomemacchina ~]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.3.0 Production on Wed Dec 10 16:39:47 2014
Copyright (c) 1982, 2011, Oracle. All rights reserved.
Connected to an idle instance.
SQL>
– Avviare il database in stato MOUNT
startup mount;
– Verificare che il database sia in stato MOUNTED con la query
set lines 222
select NAME, OPEN_MODE from v$database;
– Procedere con l’operazione di Flashback Database (con l’alias assegnato al Restore Point creato prima dell’inizio attività)
set time on timing on
FLASHBACK DATABASE TO RESTORE POINT POINT_PRE_UPGRADE;
– Se l’operazione di flashback è andata a buon fine (Flashback complete) aprire il database con
ALTER DATABASE OPEN RESETLOGS;
– Verificare che il DB sia in stato OPEN (READ WRITE)
set lines 222
select NAME, OPEN_MODE from v$database;
– Spegnere nuovamente il DB da sqlplus
shutdown immediate;
exit;
– Effettuare un riavvio del DB da cluster e verificare che tutte le istanze si avviano correttamente
srvctl status database -d NOME_DATABASE
srvctl start database -d NOME_DATABASE
srvctl status database -d NOME_DATABASE

Potrebbero interessarti anche...