martes, 17 de julio de 2012

DATAGUARD SWITCHOVER

Antes de realizar cualquier cambio de configuración o aplicar algún
procedimiento, es necesario verificar, como lo apunte anteriormente, con todo el
detenimiento necesario, el estado de operación de la configuración de nuestra
instalación.En el caso de requerir realizar un "Switchover", ó como lo
diríamos en español, "un cambio en el rol de trabajo, asumido por nuestras bases
de datos Oracle", en nuestra solución de contingencia, es importante tomar en
cuenta, las siguientes recomendaciones.

Tome su tiempo, para determinar sin grado de error, las direcciones IP y los
nombres de los host, involucrados en su configuración.
Determine, cuál servidor es el Primario y cuál el STANDBY. Si estamos
trabajando en ambiente Linux o Unix, y estamos haciendo acceso, utilizando una
herramienta de SSH o Telnet como PUTTY por ejemplo, cambié el fondo de la
terminal a un color, que le permita distinguir sin la más mínima duda, cuál
servidor es cuál.

Verifique que el servidor Primario, tiene activo el modo archive.
Verifique que el servidor STANDBY, esta recibiendo los cambios realizados en
el servidor PRIMARIO.

Antes de proceder a realizar el cambio de rol, verique que cuente con un
respaldo funcional de las bases de datos. Si realiza, respaldos diariamente, a
través de exports por ejemplo, verifique el log, para determinar que el respaldo
terminó satisfactoriamente y verifique, que todas las piezas del respaldo, estan
físicamente en el lugar donde deben estar.
Una vez, verificado los puntos anteriores proceda con los siguientes pasos:
En la base de datos PRIMARIA, verifique el estado de la base de datos de
producción, en la columna switchover_status de la vista v$database. El valor de
esta columna puede variar, según las condiciones actuales de funcionamiento de
la base de datos: NOT ALLOWED - En este estado, la base de datos
standby y la base de datos primaria, no pueden ser intercambiadas entre
sí.SESSIONS ACTIVE - Indica que existen sesiones activas en la base de
datos. Esto puede ser, tanto en la base de datos primaria, como standby. Para
poder continuar con el proceso, es necesario inicialmente desconectar a todas
las sesiones, antes de realizar el cambio de rol.SWITCHOVER PENDING - La
solicitud de intercambio ha sido recibida en la base de datos, pero aún no ha
sido procesada.SWITCHOVER LATENT - El switchover se encuentra en estado
pendiente, pero no ha sido completado y la base de datos y las bases de datos,
podrían ser devueltas a su estado original.TO PRIMARY - Esta es una base de
datos standby, sin sesiones activas y que permite ser promocionada como una base
de datos primaria.TO STANDBY - Esta es una base de datos primaria, sin
sesiones activas y que podría ser promocionada como base de datos
standby.RECOVERY NEEDED - Esta es una base de datos standby, que no ha
recibido una respuesta de intercambio de rol de trabajo.El valor
devuelto por la columna en la vista debe ser "TO STANDBY", para poder continuar con el
proceso.SQL>select switchover_status from v$database;Nota: Si al realizar la consulta, el valor indica sesiones
activas y al consultar la vista v$session, logras observar que el usuario DBSNMP
y el SYSMAN están logeados, corresponden a las sesiones, que se crean producto
de que se encuentre corriendo el "Database Console". Detenga el servicio de
DBC, con el comando emctl stop dbconsole, para poder continuar.Si
el valor obtenido es el indicado, podemos proceder a cambiar el rol de la base
de datos primaria a standby, con la siguientes
instrucciones:SQL>alter database commit to switchover to physical
standby with session shutdown;SQL>shutdown immediateSQL>startup
nomountSQL>alter database mount standby database;En este punto,
estamos desactivando, el envió del nivel transaccional a la base de datos remota
standby.SQL>alter system set
log_archive_dest_state_2=defer;En la base de datos STANDBY, una vez
realizada las tareas anteriores, debemos verificar el estado de la instancia.
El valor de la columna "switchover_status", debe ser "TO PRIMARY", para poder
continuar con la tarea.SQL>select switchover_status from
v$database;Seguidamente, debemos promocionar la base de datos standby
como base de datos primaria.SQL>alter database commit to switchover
to primary;SQL>shutdown immediateSQL>startupFinalmente,
para concluir, en la nueva base de datos STANDBY, debemos activar el modo
automático de recuperación, para que empieze a aplicar el redo generado en la
nueva base de datos PRIMARIA.SQL>recover managed standby database
disconnectFinalmente, verifique que el redo generado esta siendo
aplicado en la base de datos STANDBY, a través de la siguiente
consulta:SQL>select sequence#,applied from v$archived_log;