Po pierwsze, czy dokonałeś zmiany? Jeśli nie, możesz po prostu wydać rollback
aby cofnąć zmiany.
Zakładając, że zatwierdziłeś zmiany, czy inni użytkownicy modyfikują tabelę w tym samym czasie? Czy musisz zachować zmiany wprowadzone przez innych i cofnąć tylko te zmiany, które wprowadziłeś w swojej transakcji? A może możesz przywrócić całą tabelę do punktu w czasie przed wprowadzeniem zmian?
Jeśli możesz przywrócić całą tabelę do punktu w czasie
FLASHBACK TABLE <<table name>>
TO TIMESTAMP( systimestamp - interval '10' minute )
zwróci tabelę do stanu sprzed 10 minut, zakładając, że UNDO
konieczne, aby to zrobić, pozostaje dostępne (więc masz tylko ograniczony czas po popełnieniu błędu, aby móc przypomnieć sobie ten błąd). W celu wystawienia FLASHBACK TABLE
, musisz również upewnić się, że
- Tabela umożliwiła przenoszenie wierszy
ALTER TABLE <<table name>> ENABLE ROW MOVEMENT
- Musisz mieć
FLASHBACK
przywileje w tabeli lubFLASHBACK ANY TABLE
uprawnienia systemowe.