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