Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Jak przywrócić dane w tabeli Oracle?

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 lub FLASHBACK ANY TABLE uprawnienia systemowe.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Przyrostowe zbieranie statystyk w 11g

  2. Java - Jak wywołać procedurę wyroczni z niestandardowymi typami?

  3. Indeks nie jest używany z powodu konwersji typu?

  4. Oracle PL/SQL:Przykład DBMS_SCHEDULER.CREATE_JOB

  5. Przekaż tablicę z Javy do Oracle:java.sql.SQLException:Niepowodzenie konwersji na reprezentację wewnętrzną:błąd