最近把oracle的基础重新过了一遍,发现遗忘程度实在不忍直视。一日不读书,无人看得出,一月不读书,智商输给猪。
言归正传,学习到delete和truncate删除数据时。
delete 删除数据而不删除表结构。是可以从日志文件中恢复的。
truncate删除数据,是直接连表结构也一起删除,所以得慎重使用。
那么delete数据后,怎么恢复呢?
先回想删除数据的时间点,最好精确到秒。如果查找不到,继续缩小范围。
selete * from tb_name as of timestamp to_timestamp('2016-11-1 22:19:20','yyyy-mm-dd hh24:mi:ss');
然后开启数据闪回功能,如果已开启,则忽略此步骤。
alter table tb_name enable row movement;
再执行闪回操作
<pre name="code" class="sql">flashback table emp1 to timestamp to_timestamp('2016-11-01 22:19:20','yyyy-mm-dd hh24:mi:ss');