Una base de datos Standby para Oracle Standard Edition

En los ultimos meses me han preguntado varias veces si es posible tener una base de datos standby para Standard Edition porque el Data Guard solo es posible en Enterprise Edition.

Claro que es posible, hay dos maneras de hacerlo.

Metodo 1:
Con un backup fisico (sea en caliente o frio) incluyendo los controlfiles lo llevas al host de DR y automatizamos el envio de archived logs y con un script en cron que ejecute el comando de recover es suficiente, si simplemente arrancar esta base de datos en modo mount e ir haciendo recovers

Metodo 2:
Lo mismo que anterior pero esta vez los controlfiles lo llevamos ejecutando:

alter database create standby controlfile as ‘/tmp/lnx102.ctl’

Y la base de datos lo arrancamos en nomount y luego ejecutamos:

alter database mount standby database

Luego ya es automatizar el envio de los archived logs y ejecutar en un script de sqlplus:

RECOVER STANDBY DATABASE
AUTO

Recuerdo que un amigo me preguntó en su día que diferencia hay entre estas dos maneras de montar un Standby, encuentro tres diferencias:

1. Con el metodo 2 podemos identificar quien es el standby ejecutando
select DATABASE_ROLE from v$database
devuelve PHYSICAL STANDBY pero si fuese metodo 1 devuelve PRIMARY
2. Con el metodo 2 podemos ver el scn actual de standby ejecutando
select current_scn from v$database
Con el metodo 1 siempre devuelve 0
3. La diferencia mas importante. Se puede hacer un switchover controlado (cambio de roles) si optamos por metodo 2

A gusto de cada uno pero ambos metodos funciona. El metodo 2 es posible a partir de Oracle 7 cuando se introdujo el concepto de Standby.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s