Oracle
 sql >> база данни >  >> RDS >> Oracle

Как да възстановите данните в таблица на Oracle?

Първо, извършихте ли промяната? Ако не, можете просто да направите 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 системни привилегии.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Заредете лист с данни на Excel в базата данни на Oracle

  2. Python-Разбор на SQL с помощта на pyparsing

  3. Как да обединим стойности на два реда в един ред за същия идентификатор?

  4. Най-бързият начин за актуализиране на огромен брой редове с входен параметър List<T> в MyBatis към Oracle db

  5. Скриване на обикновена текстова парола с командния ред на sqlplus