Standby Database, chupando archives redos logs.

in #database7 years ago (edited)

La configuración de la “Stadby Database”, explicada en el artículo anterior ORACLE Standby database , nos deja una tarea pendiente, a pesar de cumplir con la tarea de proveer una copia de base de datos actualizada para diferentes propósitos de utilidad: recuperación en caso de desastres, liberación de base de datos de producción de sobrecargas originadas por reportes, base de datos actualizada para pruebas con datos de producción, reducción de tiempos fuera de servicio en la aplicación de patchs/upgrade a bases de datos, etc.

Una vez colocada la “Stabdby Database” en modo de aplicación automática de archives redos logs, es deseado que cada archive redo log generado en producción sea copiado al lugar desde donde será leido por la “Stabdby Database”, para ello son necesarias las siguientes configuraciones:

En producción


En el archivo “tnsnames.ora” de producción debe agregarse una entrada para conexión a la “standby database” (revisar y adecuar)

STBYDB=
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = SERVIDOR_STANDBY)(PORT = 1510))
)
(CONNECT_DATA =
(SERVICE_NAME = STBYDB)
)
)

En el “init.ora” de producción deben agregarse estos parametros

log_archive_dest_2 = "service= STBYDB optional reopen=5"
log_archive_dest_state_2 = enable

En la “Standby Database”



En el “init.ora” de la “Standby Database” deben agregarse estos parametros (revisar y adecuar)

service_names = STBYDB
control_files = ruta_y_nombre_de_standby_controlfile (ejemplo: /u01/app/oracle/product/8.1.7/dbs/stbydb.f)
log_archive_start = false
log_archive_dest = ruta_de_archives (ejemplo: /ora/archives)
standby_archive_dest = ruta_de_archives (ejemplo: /ora/archives)
log_archive_format = Formato_para_archives (ejemplo: &ORACLE_SID%t_%s_%r.arc)

En el “listener.ora” crear una entrada en un puerto exclusivo para que la “Standby Database” escuche. En este ejemplo utilizo el 1510

(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = SERVIDOR_STANDBY)(PORT = 1510))
)
STANDBY_LISTENER = (ADDRESS_LIST=
(ADDRESS=(PROTOCOL=tcp)(PORT=1510)(HOST=SERVIDOR_STANDBY))
)



Una vez configurado el listener, se debe hacer un reload del mismo.

Con las configuraciones explicadas anteriormente, archive redo log que es generado en producción es copiado directamente al “standby_archive_dest” del la “Standby Database” y si fue colocada en modo recover con el comando RECOVER MANAGED STANDBY DATABASE; los archives redos logs serán aplicados automáticamente, manteniendo a la “Standby Database” sincronozada.

Las imágenes utilizadas en este post pertenecen a ORACLE Corporation .