Skip to main content

Command Palette

Search for a command to run...

...Y si podemos retroceder en el tiempo?

Updated
3 min readView as Markdown
J
Un apasionado de la base de datos y la educación. Crecemos en comunidad y la educación transforma vidas.

Level200

Imaginemos esta situación que no diré que era típica pero que podría pasar...un delete o un update sin "where" y malogramos nuestra data...en esta situación que podríamos hacer: "retroceder en el tiempo" y literalmente reconstruíamos el pasado con las herramientas que teníamos: restore y recovey incompleto.

La problemática con este enfoque era el tiempo de recuperación el cual era proporcional al tamaño de nuestra base de datos y no al tamaño del error, entonces es donde viene a ayudarnos la tecnología flashback de Oracle.

Oracle AI Database Flashback Technologies is a unique and rich set of data recovery solutions that let the database reverse human errors by selectively and efficiently undoing the effects of a mistake.

Flashback soporta dabase recovery a todos los niveles: row, transacción, tabla y la base de datos completa.

Prerequisito:

Para poder usar flashback database la base de datos debe tener previamente configurado "flashback logging" y estar en modo archivelog.

  1. Validamos prerequisito

SQL> SELECT name, log_mode, flashback_on FROM v$database;

  1. Vemos que no esta en archivelog, sin embargo igual intentaremos ponerlo en flashback logging: ALTER DATABASE FLASHBACK ON;

  2. Como obtuvimos error procederemos a activar el archivelog previamente.

Ahora si activamos el flashback :

y validamos;

  1. Creamos punto de restore para las pruebas:

create restore point ace1;

SELECT current_scn FROM v$database;

  1. Realizamos el flashback database;

flashback database to restore point ace1;

Vemos que para hacer el flashback dabase la base debe estar en modo mount.

  1. Finalmente abrimos la base de datos con resetlogs.

Y que parametros afectan al flashback :

El db_flashback_retention_target define en minutos hasta donde puede llegar la maquina del tiempo hacia atrás, es un objetivo y no una garantía absoluta dado que si el FRA se queda sin espacio Oracle puede recortar esa ventana.

Acá vemos como se guardan los archivos del flashback en el FRA en el directorio flashback.

**Desde la versión 23, tenemos parámetros para poner los archivos del flashback fuera del FRA.

Tip: Configurar el retention según tu necesidad y disponibilidad de espacio.

Recomendación: Gestionar adecuadamente los puntos de restore y crearlo cuando se realizan cambios significativos, sin embargo también se puede realizar el flashback por fecha y SCN.

Conclusión: El volver hacia atras en mas rápido y controlado con flashback database.

2 views