Primeiro, você confirmou a mudança? Caso contrário, você pode simplesmente emitir um
rollback
para reverter suas alterações. Supondo que você tenha confirmado suas alterações, outros usuários estão modificando a tabela ao mesmo tempo? Você precisa preservar as alterações que outros fizeram e apenas reverter as alterações feitas em sua transação? Ou você pode restaurar a tabela inteira para um ponto no tempo antes de suas alterações serem feitas?
Se você puder restaurar a tabela inteira para um ponto no tempo
FLASHBACK TABLE <<table name>>
TO TIMESTAMP( systimestamp - interval '10' minute )
retornará uma tabela ao estado em que estava há 10 minutos, assumindo que o
UNDO
necessário fazer isso permanece disponível (então você só tem um tempo limitado depois de cometer um erro para poder fazer o flashback desse erro). Para emitir um FLASHBACK TABLE
, você também deve certificar-se de que - A tabela habilitou o movimento de linhas
ALTER TABLE <<table name>> ENABLE ROW MOVEMENT
- Você deve ter
FLASHBACK
privilégios na tabela ou noFLASHBACK ANY TABLE
privilégio do sistema.