Switch Over : Rápido pasaje a contingencia.

级联传送 Data Guard 的归档日志

Image by Fenng(dbanotes) via Flickr

El cápitulo siguiente esta dedicado al un pasaje a contingencia de Producción de una manera ordenada y prolija, este es el caso cuando programamos la tarea con atelación o bien cuando tenemos algún escenario como la falta de storage en el sitio productivo y en contigencia hay espacio holgado (Tiene que creermelo, esto lo he visto en muchos clientes).

Entonces, manos a la obra !

Como primer medida abrimos una termial de SQLPLUS en PROD Y CO con sus respectivos alerts para verificar que movimientos ocurre en la base y si todo esto es transparente.

  • Verificamos que la base PRIMARIA se encuentre en modo OPEN.
  • Verificamos que la SECUNDARIA se encuentre en modo MOUNT y que haya aplicado los logs.
  • Verificamos que los listeners estén Levantados.

Si sos un administrador proactivo esto estará en tus controles diarios y no te verás incluido en apuros a la hora de switchear.

En nuestra base PRIMARIA vamos a dar la orden de switcheo y le vamos a decir que comienza el proceso de inversión de roles.

SQL> ALTER DATABASE COMMIT TO SWITCHOVER TO PHYSICAL STANDBY
WITH SESSION SHUTDOWN;
Database altered.

En la SECUNDARIA, y solo cuando haya culminado el proceso damos la orden para que la instancia secundaria se convierta al nuevo rol PRIMARIO:

SQL> ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY;
Database altered.

Ahora , en nuestra vieja PRIMARIA, bajamos la instancia y luego la montamos:

SQL> SHUTDOWN IMMEDIATE;
ORA-01507: database not mounted

ORACLE instance shut down.

SQL> STARTUP MOUNT;
ORACLE instance started.Total System Global Area 1073741824 bytes
Fixed Size                   2089472     bytes
Variable Size              687869440 bytes
Database Buffers      377487360 bytes
Redo Buffers             6295552      bytes
Database mounted.

Cuando haya llegado exitosamente al modo MOUNT, vamos a nuestra NUEVA PRIMARIA (ex  secundaria) y en mi caso especialemente por que uso 10GR2 ejecuto:

SQL>ALTER DATABASE OPEN;

Es importante este punto y lo aclaro por que he leido en las notas de metalink que para la versión 10R1 y 9 hay que bajar la base y luego levantarla.

Como último paso, probamos que envie los logs y apliquen. Para ello :

SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT;
Database altered.

Enviamos un log y verificamos:

SQL> alter system switch logfile;
System altered.

Podemos verifcar en el alert que habra unas sentencias similares a las que expongo.

Clearing online redo logfile 11 complete
Media Recovery Log +TESTDG_DG1/ot2testdg/archivelog/2009_10_10/thread_1_seq_22.406.700172559
Media Recovery Waiting for thread 2 sequence 12

About Juan Andres
Consultant | Oracle DBA & IT Specialist | LinuxUnix Administrator | Father | Musician | Farmer | Environmentalist | Writer | Builder | Buenos Aires · burzaco.wordpress.com

%d bloggers like this: