Configuración de Fast Start Failover en Oracle Database Cloud Service

Por Francisco Riccio
Publicado en Abril 2019




Introducción


Oracle Database Cloud Service nos permite de manera muy sencilla contar con bases de datos en alta disponibilidad y contingencia en minutos utilizando RAC y Data Guard respectivamente. Una de las características de una configuración en Data Guard es la capacidad de minimizar el tiempo de Failover que ocurriría ante una caída de la base de datos Primaria utilizando la opción de Fast Start Failover, el cual no viene habilitado por defecto en la configuración de Oracle Database Cloud Service a la fecha de este artículo.

La configuración de Fast Start Failover se puede realizar vía Enterprise Manager Cloud Control o a través del Data Guard Command Line (DGMGRL), además de contar con un proceso observador que permita monitorear la disponibilidad de la base de datos Primaria como a continuación se presenta:



El Observador viene incluido en el programa Oracle Client y debería ser instalado en otro Centro de Datos con la finalidad de estar aislado ante una falla mayor, en caso de que no sea posible, podría ir en el mismo Centro de Datos de la base de datos de contingencia.

Este material estará enfocado a mostrar todas las configuraciones necesarias para contar con Fast Start Failover en un tercer Centro de Datos entre 2 Database Cloud Service versión 18c replicados con Data Guard. El observador que disparará el proceso de Fast Start Failover tendrá instalado Oracle Client 19c para propósito de la prueba.





Implementación


A continuación, se detalla el inventario de los componentes que se desplegarán en la solución:

Rol de Base de Datos

Componente

Modelo de Servicio Cloud

Base de Datos Primaria

Database Cloud Service OCI Classic

PaaS

Base de Datos Standby (Physical Standby)

Database Cloud Service OCI Classic

PaaS

Observador

Servidor Virtual de OCI 2
(Oracle Client instalado)

IaaS





A. Creación del Ambiente

A1. Creación de las Bases de Datos

A continuación, se detallan los pasos para crear una base de datos con contingencia a través del servicio Database Cloud Service OCI Classic.





Es importante seleccionar la opción que incluye Data Guard Standby.







Nota: Standby Database Configuration cuenta con 2 valores: Disaster Recovery y High Availability; la diferencia es que el primero ubica el Standby Database en un Data Center geográficamente separado para evitar un desastre catastrófico y el segundo lo ubica en un dominio distinto.




Finalmente, se puede apreciar las 2 bases de datos configuradas como: Primario y Standby.





A continuación, se realizará una revisión a la configuración del ambiente:

Base de Datos: Primaria





Base de Datos: Secundaria



Las 2 bases de datos están replicadas.





Configuración de parámetros de la base de datos Primaria.







Servicios publicados en el Listener del Servidor que aloja la base de datos Primaria.







Servicios publicados en el Listener del Servidor que aloja la base de datos Standby.







A2. Creación del Servidor Virtual en Servicio IaaS con Instalación de Oracle Client 19c.

Se presenta los pasos para crear el Servidor Virtual en Servicio IaaS de Oracle Cloud Infrastructure (OCI 2).







Posterior a la creación del Servidor Virtual, se procede a certificarlo para instalar correctamente Oracle Client 19c. El detalle de la certificación se encuentra en el siguiente documento: https://docs.oracle.com/en/database/oracle/oracle-database/19/lacli/index.html










B. Implementación del Oracle Observer

Para realizar la implementación, las 2 bases de datos (Primaria y el Standby) deben cumplir con 2 requisitos los cuales ya están configurados automáticamente en Database Cloud Service y son:

  • DG_BROKER_START = TRUE
  • Flashback Database = ON

Adicional para versiones Oracle Database 12.1 debe estar configurado en el Data Guard: Maximum Availability o Maximum Performance y a partir de la versión 12.2 está soportado Maximum Protection.

Se procede a configurar el archivo TNSNAMES.ora del Oracle Client 19c con la finalidad que pueda accederse a ambas bases de datos desde la herramienta Data Guard Command Line (DGMGRL).





Nos conectamos mediante Data Guard Command Line para revisar la configuración:



Se puede validar que la opción Fast Start Failover no está habilitada.



Validamos los roles que tiene cada base de datos en la configuración:





Se realizará una prueba de Switchover con la finalidad de validar que las configuraciones son correctas para luego habilitar y probar la opción de Fast Start Failover:





En la consola de Oracle Cloud se visualiza lo siguiente:





Se realizará un retorno, es decir, cada base de datos volverá a tener su role original:





En la consola de Oracle Cloud se puede ver lo siguiente:


Nota: Dentro del Portal de Oracle Cloud también se puede realizar la prueba de switchover, pero es importante realizarlo a través de la herramienta DGMGRL porque desde ahí se iniciará el proceso del Observador. Se adjunta la opción de switchover dentro del Portal:






A continuación se visualizará las configuraciones que estarán regidas para la opción de Fast Start Failover:





Estas opciones se encuentran especificadas en el siguiente documento:
https://docs.oracle.com/en/database/oracle/oracle-database/18/dgbkr/oracle-data-guard-broker-properties.html#GUID-6028B135-8D80-4F8A-9FB9-410B3EA063F5

Nota: Fast Start Failover inicia el proceso de Failover siempre y cuando el Observador y el Standby no tengan comunicación con la base de datos Primaria. Asimismo el proceso puede iniciarse si se habilitaron algunas de estas opciones:

  • Un datafile está offline debido a errores de I/O.
  • Corrupción en el data dictionary.
  • Controlfile dañado.
  • Un miembro de un redo log no es posible escribir en él.
  • No puede escribirse un archive por estar el disco lleno.
  • Se ejecutó un shutdown abort.




Se procede a definir cuál será la base de datos Standby destino en caso ocurra un Failover (en caso tengamos más de 1) y habilitamos la opción de Fast Start Failover.





Se revisa la configuración realizada:





Se procede a iniciar el proceso del Observador:







C. Prueba de Validación de la Opción de Fast Start Failover (FSF)

Se procederá a detener el Servidor Virtual de la base de datos Primaria.





Se procede a revisar los mensajes del Observador, el cual indica que no detecta comunicación con la base de datos Primaria.





Finalmente se procederá a iniciar el servidor que se apagó y se revisará que el Observador iniciará el proceso de Reinstate, el cual permitirá que la base de datos caída se convierta en Standby Database y pueda replicarse con respecto al nuevo Primario de manera automática.





El observador iniciará el proceso de Reinstate.





Se comprueba el estado de la configuración:






Conclusión


Fast Start Failover es una opción válida para disminuir el tiempo de indisponibilidad de una base de datos inclusive si contamos con nuestras bases de datos en un modelo Nube, siendo además beneficioso en este modelo porqué podrá ser instalado el Observador en un tercer Centro de Datos sin generar una inversión significativa.




Francisco Riccio, actualmente se desempeña como Arquitecto de Soluciones en Oracle Perú y es instructor de cursos oficiales de certificación Oracle. Es un Oracle Certified Professional en productos de Oracle Application, Base de Datos, Cloud & Virtualización.

Este artículo ha sido revisado por el equipo de productos Oracle y se encuentra en cumplimiento de las normas y prácticas para el uso de los productos Oracle.