[ 2014-02-12 ]

Activación de flashback en un RAC

Requisitos:

Antes de poder activar flashback database debemos asegurarnos dos cosas:


  • La base debe estar configurada en modo archivelog.
  • Debe tener habilitada la FRA (flash/fast recovery area) ya que los flashback logs solamente pueden ser almacenados en la alli.

Para habilitar flashback debemos seguir los siguientes pasos (caso de un RAC):

1- Abrir una de las instancias del RAC en modo mount:  

Desde linea de comando bajamos todas la instancias y luego montamos solo una:

[oracle@server01]$ srvctl stop database -d ORCL
[oracle@server01]$ srvctl start instance -d ORCL -i ORCL1 -o mount;


2- Configurar el parametro DB_FLASHBACK_RETENTION_TARGET (ventana de flashback requerida expresada en minutos)
   Por defecto es un 1 dia (1440 minutos)

Nos conectamos a la instancia:

[oracle@server01]$ sqlplus / as sysdba

Verificamos el parametro:

SQL> show parameter db_flashback_retention_target

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_flashback_retention_target        integer     1440


Lo seteamos en dos dias (2880 minutos)


SQL> alter system set db_flashback_retention_target=2880 sid='*';

System altered.

3- Habilitamos el flashback en la base de datos:

Verificamos antes que ya no este habilitada:

SQL> select * from v$flashback_database_log;

no rows selected

No hay info de flashback logs

SQL>  select LOG_MODE,FORCE_LOGGING,CURRENT_SCN,FLASHBACK_ON from v$database;

LOG_MODE     FOR CURRENT_SCN FLASHBACK_ON
------------ --- ----------- -------------
ARCHIVELOG   NO      4527627 NO

Acá vemos FLASHBACK_ON en NO

Corremos el comando para habilitar flashback:

SQL> alter database flashback on;

Database altered.


Volvemos a comprobar:

SQL> col OLDEST_FLASHBACK_SCN format 9999999999999;
SQL> col FLASHBACK_SIZE format 9999999999999;
SQL> select * from v$flashback_database_log;

OLDEST_FLASHBACK_SCN OLDEST_FL RETENTION_TARGET FLASHBACK_SIZE ESTIMATED_FLASHBACK_SIZE
-------------------- --------- ---------------- -------------- ------------------------
             4624876 06-JAN-14             2880      104857600                   147456




SQL> select LOG_MODE,FORCE_LOGGING,CURRENT_SCN,FLASHBACK_ON from v$database;

LOG_MODE     FOR CURRENT_SCN FLASHBACK_ON
------------ --- ----------- ------------------
ARCHIVELOG   NO            0 YES


Ahora si vemos info flashback logs y el campo  FLASHBACK_ON en YES.

Una vez activada la flashback.

Desde linea de comando reiniciamos todas las instancias:

[oracle@server01]$ srvctl stop database -d ORCL

[oracle@server01]$ srvctl start database -d ORCL

[oracle@server01]$ srvctl status database -d ORCL
Instance ORCL1 is running on node server01
Instance ORCL2 is running on node server02



No hay comentarios:

Publicar un comentario