OTN Appreciation Day: Oracle Flashback
Navegando
por las redes, me he enterado de esta gran idea de Tim Hall creador del famoso
blog oracle-base: OTN Appreciation Day. Donde como parte de la comunidad OTN
compartamos alguna de las
características que más nos gusta de las tecnologías Oracle.
Hoy quiero
compartir una de las características que más me gusta desde Oracle 10g y ha
venido mejorando hasta la versión 12c.
Se trata de Oracle Flashback, una característica que permite revertir “errores
de usuario”. Me gusta describirlo, y en algunas ocasiones la he explicado así,
como una característica que nos permite regresar en el tiempo y revertir
operaciones que generalmente se tratan de errores de usuario, por ejemplo:
- Recuperar tablas eliminadas.
- Revertir transacciones ya cometidas (ojo que no se trata de hacer rollback sino realizar la operación inversa a la cometida)
- Incluso revertir la base de datos completa a un punto atrás en el tiempo.
La base fundamental de la mayoría de
características flashback son los segmentos UNDO, segmentos que son creados
cada vez que se ejecuta una transacción y son utilizados de manera circular.
Junto a los parámetro de base de datos como UNDO_RETENTION y la característica RETENTION GUARANTEE de los
UNDO tablespace poseemos la capacidad de almacenar las versiones anteriores de
los datos modificados para poder revertirlos en cualquier momento.
Mas a
detalle las características de Oracle Flashback son:
Flashback Table: nos permite revertir los datos de una tabla a
un momento anterior. Util para esos famosos “Update/delete sin clausula where”.
Flashback Query: Nos permite ver como estaban los datos en un
tiempo atrás, sin revertirlos sino solamente explorando a través de los
segmentos UNDO.
Flashback Version Query: podemos ver un histórico de
versiones de cambios en una tabla, para comparaciones de datos.
Flashback Drop: una de las más útiles, nos permite recuperar
tablas eliminadas. Para esta
característica Oracle se base en una “Recicle Bin” para mantener por cierto
tiempo objetos eliminados con la característica de poder ser recuperados.
Flashback database: agrupa de cierto modo todas las anteriores,
con esta característica podemos rebobinar la base de datos completa y
regresarla a un estado anterior en el tiempo. Esta característica requiere de
un poco más de ayuda y además de los segmentos UNDO utilizara una nueva
estructura denominada Flahback data archive.
La siguiente tabla describe las dependencias:
Esto es solo una breve introducción a esta
fabulosa tecnología que posee tantas opciones y característica que se podría
escribir una tesis al respecto.
En Oracle Database 12c, se mantienen las mismas
características y ciertas con mejoras sobre la arquitectura Multi-Tenant y esperemos ver las noticias que
presenta 12c Release 2.
Salud,
Comments
Post a Comment