Oracle Database 19c nos provee 2 funcionalidades importantes relacionadas a la recuperación de una base de datos mediante Flashback Database en un ambiente configurado con Standby Database. Las nuevas funcionalidades son las siguientes:
La primera funcionalidad, cuando una base de datos Primaria apertura con la opción de Resetlogs posterior a un Flashback Database, automáticamente su Standby Database ejecutará lo mismo, olvidándonos del procedimiento manual que debía ejecutarse en versiones previas a la 19c. Posterior a la operación de Flashback Database en la base de datos Standby, esta continuará replicando con el Primario. La base de datos Standby ejecutará la operación de Flashback Standby Database cuando su proceso MRP detecte que la base de datos Primaria cuenta con una nueva encarnación como consecuencia de una operación de Flashback Database, posterior a ello inicia el recovery, todo este proceso de manera automática.
Antes de esta funcionalidad había que ejecutar un procedimiento que se encuentra documentado en My Oracle Support (MOS): 728374.1 (How To Flashback Primary Database In Standby Configuration).
La segunda funcionalidad permite replicar los Restore Points creados en la base de datos Primaria al Standby. Los Restore Points son almacenados en el Control File y al ser creados, el proceso MRP del Standby Database detecta la creación y lo ejecuta en la base de datos, mismo caso ocurre cuando son eliminados. La funcionalidad también incluye a los Restore Points Guarantee.
El ambiente donde se probará las 2 funcionalidades cuenta con las siguientes direcciones IPs:
Rol de Base de Datos |
IP |
PRIMARIO |
132.68.1.19 |
STANDBY |
132.68.1.20 |
Antes de iniciar con la comprobación de esta nueva funcionalidad se configurará ambas bases de datos con la opción de Flashback Database.
Base de Datos: Primaria |
Base de Datos: Standby |
Se procederá a crear un Restore Point llamado RP_TEST y posteriormente una tabla llamada TEST en la base de datos Primaria.
Base de Datos: Primaria |
Base de Datos: Standby Se puede validar que la información está siendo replicada. |
Se procederá a ejecutar un Flashback Database en la base de datos Primaria:
Base de Datos: Primaria
Ahora se puede observar que el proceso MRP en el Standby Database detectó el cambio de encarnación de la base de datos Primaria e inicia un Flashback Standby Database en el Standby.
Base de Datos: Standby
El Flashback Standby Database ejecutado de manera automática por la base de datos también es registrado en el alert.log de la instancia.
Base de Datos: Standby
B. Propagación automática de los Restore Points creados en la base de datos Primaria al Standby
Se debe recordar que los Restore Points (incluido los Guarantee) son almacenados en el Control File y por ende no son replicados a los Standby Databases; pero esta nueva funcionalidad permitirá replicarlos y así facilitar las opciones de recuperación en ambos lados. Los Restore Points creados en la base de datos Standby cuentan con el sufijo _PRIMARY. Las condiciones para que el Restore Points sea propagado en el Standby Database son:
En el punto A se contaba con un Restore Point llamado RP_TEST, ahora se comprobará si este existe en el Standby de manera automática:
Base de Datos: Standby
Consultamos la base de datos primaria el cual debe contar con el mismo valor de SCN.
Esta nueva funcionalidad provista en Oracle Database 19c permite liberar errores humanos al ejecutar un procedimiento manual para mantener nuestro Standby Database sincronizado posterior a una recuperación de Flashback Database en la base de datos Primaria; además de asegurarse en todo momento que los Restore Points creados siempre estén propagados en las bases de datos Standby y así facilitar al Administrador de Base de Datos ejecutar un proceso de recuperación eficiente.
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.