Oracle Snapshot StandBy - ¿Parar, Abrir, Usar, Cerrar, Rebobinar y Seguir? | ExpoDBA

Oracle Snapshot StandBy - ¿Parar, Abrir, Usar, Cerrar, Rebobinar y Seguir?

Oracle Snapshot StandBy - ¿Parar, Abrir, Usar, Cerrar, Rebobinar y Seguir?

En algunas empresas en las que trabajé se requería tener un ambiente de testeo lo más parecido al ambiente productivo. Para lograr este objetivo a veces me encontraba con un proceso diario y nocturno de "refrescamiento" del ambiente de testeo, ya sea, utilizando export - import, restore o duplicate. Lo más triste y decepcionante es que estos procesos en las empresas no suelen funcionar siempre bien por diversas razones, incluyendo razones "no técnicas".

 

Investigando la manera de optimizar este tipo de procesos me encuentro con la funcionalidad de Oracle Snapshot Standby. Una magnífica opción para lograr el objetivo y a su vez aprovechar una base StandBy.

 

El concepto es simple, te permite utilizar una base StandBy haciendo lecturas y escrituras durante un determinado tiempo, luego "rebobina" la base para deshacer los cambios y la vuelve a sincronizar.... casi mágico, ¿No?.

 

Vamos a detallar un poquito más esta magia, los pasos son los siguientes:

  1. Se baja la base StandBy.
  2. Se sube la base en modo lectura/escritura.
  3. Los archived logs productivos seguirán llegando al servidor de contingencia y se irán acumulando.
  4. Los usuarios podrán trabajar con la base por un tiempo determinado, por ejemplo las 8 horas del horario laboral.
  5. Una vez terminado el horario laboral, la base se baja y utilizando el Flashback se rebobina hasta el momento que se bajó (punto 1).
  6. El paso siguiente es poner la base nuevamente en modo StandBy.
  7. En este momento comienza a aplicar todos los archived logs productivos que acumuló durante el horario laboral.
  8. ¡Listo!, tenemos nuevamente la base StandBy sincronizada con la productiva.

¿Les pareció complejo?... pasemos a la práctica donde se simplifica aún más.

 

PRACTICA

Si disponemos de bases con la versión 11.2.0.3.0 y un Dataguard Broker bien configurado, los pasos a seguir son los siguientes:

Convertir la base a Snapshot StandBy:

$ORACLE_HOME/bin/dgmgrl usuario/contraseña@TNS
DGMGRL> convert database 'sid_standby' to snapshot standby;

Convertir la base en Physical StandBy

$ORACLE_HOME/bin/dgmgrl system/contraseña@TNS
DGMGRL> convert database 'sid_standby' to physical standby;


Espero que les guste y les sirva en algún momento de sus vidas...

 

Eso es todo. Saludos.

Facundo E. Grande (facundogrande@hotmail.com)

Lanús - Buenos Aires - Argentina


"No tengo todo calculado ni mi vida resuelta, sólo tengo una sonrisa y espero una de vuelta" (La Vuelta al Mundo - Calle 13)