闪回表查询

 查找全表数据:

23:30:27 SQL> select * FROM emp;

 删除某一条数据:

23:31:39 SQL> delete from emp where empno= 7934;

 发现错误,回想起删除数据的时间:本例中实在23点31分左右删除的,执行flashback语句:

23:40:39 SQL> flashback table emp to timestamp to_timestamp('10-07-12 23:30:00','dd-mm-yy hh24:mi:ss');
flashback table emp to timestamp to_timestamp('10-07-12 23:30:00','dd-mm-yy hh24:mi:ss')
                *
ERROR at line 1:
ORA-08189: cannot flashback the table because row movement is not enabled

 该操作失败,因为默认情况下没有为任何表启动行移动(作为表闪回的前提条件),因此要为这个表启动它:

23:45:55 SQL> alter table emp enable row movement;

Table altered.

现在重新尝试闪回:

23:47:38 SQL> flashback table emp to timestamp to_timestamp('10-07-12 23:30:00','dd-mm-yy hh24:mi:ss');

Flashback complete.

猜你喜欢

转载自ginaduxuefang.iteye.com/blog/1584627