Primero, ¿commitiste el cambio? De lo contrario, simplemente puede emitir un rollback
para revertir los cambios.
Suponiendo que haya confirmado sus cambios, ¿otros usuarios están modificando la tabla al mismo tiempo? ¿Necesita conservar los cambios que otros han realizado y solo revertir los cambios que realizó en su transacción? ¿O puede restaurar toda la tabla a un punto en el tiempo antes de que se hicieran los cambios?
Si puede restaurar toda la tabla a un punto en el tiempo
FLASHBACK TABLE <<table name>>
TO TIMESTAMP( systimestamp - interval '10' minute )
devolverá una tabla al estado en el que se encontraba hace 10 minutos, suponiendo que UNDO
necesario para hacerlo permanece disponible (por lo que solo tiene un tiempo limitado después de cometer un error para poder retroceder ese error). Para emitir una FLASHBACK TABLE
, también tienes que asegurarte de que
- La tabla ha habilitado el movimiento de filas
ALTER TABLE <<table name>> ENABLE ROW MOVEMENT
- Debe tener
FLASHBACK
privilegios en la tabla oFLASHBACK ANY TABLE
privilegio del sistema.