Использование FLASHBACK в Oracle

Я искал команду flashback. Где-то написано, что можно откатить операцию truncate, а где-то написано, что нельзя. Может ли команда FLASHBACK в Oracle использоваться для отката операции усечения таблицы?


person Yogesh Mittal    schedule 20.09.2014    source источник
comment
Flashback — это не то же самое, что rollback, но нет, он не может восстановиться после усечения, и вы не можете выполнить запрос flashback после усечения. Он может восстановиться после drop table, что может привести к путанице. Возможно, вы могли бы процитировать и/или дать ссылку на источники двух противоречивых утверждений?   -  person Alex Poole    schedule 20.09.2014


Ответы (1)


Вам необходимо включить Flashback Data Archive. Затем truncate можно отменить с помощью следующего оператора:

insert into <truncated_table> 
   select * from <truncated_table> as of timestamp <some time>;

Спасибо @Джону Хеллеру за добавление этой полезной информации о новой функции:

Для этого требуется версия 11.2 или выше, в которой введена поддержка DDL. операторы, такие как усечение.

person Lalit Kumar B    schedule 20.09.2014
comment
Вы по-прежнему не можете восстановиться после усечения хотя? Или, скорее, не может усекать, если это включено; но в любом случае вы не можете «откатить» усечение? - person Alex Poole; 21.09.2014
comment
Мое намерение состояло в том, чтобы сосредоточиться на обратном. Я не говорю, что это откатит усеченные данные. Но это позволит получить доступ к архивным историческим данным с помощью стандартных операторов SQL - person Lalit Kumar B; 21.09.2014
comment
@Jon, спасибо за редактирование. Теперь имеет гораздо больше смысла. - person Lalit Kumar B; 22.09.2014
comment
Ах, я не знал, что усечение (или другой DDL в ссылке JonHeller) разрешено из 11gR2. Интересный. - person Alex Poole; 22.09.2014
comment
И лишь добавим, что эта функция недоступна в Express Edition. oracle.com/us/products/database/enterprise- выпуск/сравнения/ - person David Aldridge; 30.06.2015
comment
@DavidAldridge Да, видел ваш обновленный пост здесь stackoverflow.com/a/139633/3989608 - person Lalit Kumar B; 03.07.2015