Oracle Flashback Technology
A partir de Oracle9i, además de tener point-in-time restore y recovery de la base de datos, tenemos un grupo de funcionalidades conocidas como Oracle Flashback Technology que nos permite trabajar los datos con los valores que tenía en un pasado determinado.
La solución más básica ante cambios no deseados en la base de datos, es el database point-in-time recovery, en donde debemos restaurar la base de datos desde un backup y luego aplicar los redo logs para recrear todos los cambios hasta el momento (pont-in-time) anterior al cambio no deseado.
Oracle Flashback Technology provee varias alternativas para ver el estado pasado de los datos, “rebobinando” los datos hacia atrás y adelante sin necesidad de un restore de la base desde un backup.
De esta manera la tecnología Flashback puede revertir los cambios no deseados más rápidamente y con menos impacto en la disponibilidad del resto de la base de datos.
Limitaciones
Aunque las ventajas de Flashback son muchas, tiene algunas limitaciones:
- Si la corrupción de la base de datos se da a nivel físico, no se puede usar Flashback como medio de recuperación.
- Es un producto pensado para volver atrás cambios no deseados realizados en un pasado cercano. Cuanto tiempo atrás uno puede ir, es configurable, pero limitado según la cantidad de transacciones que se realicen en la base y el espacio disponible para guardar las transacciones realizadas.
Variantes
Hasta la versión 10g, las distintas alternativas de uso son las siguientes:
- Oracle Flashback Query (a partir de 9i): consulta y recuperación a nivel de fila
- Oracle Flashback Version Query (a partir de 10g): consulta de las distintas versiones de las filas a traves de los cambios.
- Oracle Flashback Transaction Query (a partir de 10g): consulta de la sentencia que nos permite volver atras cada cambio realizado.
- Oracle Flashback Table (a partir de 10g): recupero de tablas individuales a un estado pasado.
- Oracle Flashback Drop (a partir de 10g): deshace operaciones de DROP TABLE.
- Oracle Flashback Database (a partir de 10g): database point-in-time recovery.