sql >> Base de Datos >  >> RDS >> Oracle

¿Cómo restaurar los datos en una tabla de Oracle?

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 o FLASHBACK ANY TABLE privilegio del sistema.