Как использовать FLASHBACK TABLE для восстановления данных в Oracle

Как использовать FLASHBACK TABLE для восстановления данных в Oracle

oracle

oracle

Всем привет, в данном посте речь пойдет о том Как использовать FLASHBACK TABLE для восстановления данных в Oracle. Ситуация такая, что с таблицей что-то сделали не то и выполнили COMMIT?

В случае с Oracle нет ничего проще - достаточно просто откатить таблицу к нужному моменту времени с помощью команды FLASHBACK TABLE.

Рассмотрим откат на примере таблицы TEST_1

1. Проверяем есть ли право ROW MOVEMENT на нашу таблицу:
SELECT TABLE_NAME,ROW_MOVEMENT FROM USER_TABLES WHERE TABLE_NAME='TEST_1';

2. Если запрос выдает DISABLE - даем право командой:
ALTER TABLE TEST_1 ENABLE ROW MOVEMENT;

Если этого не сделать, то при выполнении команды FLASHBACK TABLE будем выходить на ошибку:
ORA-08189: cannot flashback row movement is not enabled

3. Самый интересный этап - восстанавливаем старое состояние таблицы TEST_1:
FLASHBACK TABLE TEST_1 TO TIMESTAMP 
      TO_TIMESTAMP('25.04.2012 12:00', 'DD.MM.YYYY HH24:MI')

4. Возвращаем права обратно, если надо:
ALTER TABLE TEST_1 DISABLE ROW MOVEMENT;

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

я в гугл