Първо, извършихте ли промяната? Ако не, можете просто да направите rollback
за да отмените вашите промени.
Ако приемем, че сте извършили промените си, други потребители променят ли таблицата по същото време? Трябва ли да запазите промените, които други са направили, и да отмените само промените, които сте направили във вашата транзакция? Или можете да възстановите цялата таблица до момент от време, преди вашите промени да бъдат направени?
Ако можете да възстановите цялата таблица до даден момент
FLASHBACK TABLE <<table name>>
TO TIMESTAMP( systimestamp - interval '10' minute )
ще върне таблица в състоянието, в което е била преди 10 минути, ако приемем, че UNDO
необходимото за това остава на разположение (така че имате само ограничено време след като направите грешка, за да можете да я върнете обратно). За да издадете FLASHBACK TABLE
, вие също трябва да се уверите, че
- Таблицата има разрешено преместване на ред
ALTER TABLE <<table name>> ENABLE ROW MOVEMENT
- Трябва да имате
FLASHBACK
привилегии на масата илиFLASHBACK ANY TABLE
системни привилегии.