10多年的信息工作,随时记录心得和资料,希望能结识更多的朋友
分类: Oracle
2009-07-13 16:22:13
注意:flashback table 需要下面几个条件
1. 需要有flashback any table的系统权限或者是flashback这个表的对象权限;
2. 需要有对这个表的基本的dml,alter操作权限;
3. 必须保证该表row movement(这主要是让flashback记住表的rowid)
具体的操作为:
SQL> flashback table tb_task_info to timestamp to_timestamp('2009-07-13 14:30:00','yyyy-mm-dd hh24:mi:ss');
flashback table tb_task_info to timestamp to_timestamp('2009-07-13 14:30:00','yyyy-mm-dd hh24:mi:ss');
ORA-08189: cannot flashback the table because row movement is not enabled
但是抛出了8189错误,原因就是因为表没有row movement,改变下表的属性:
SQL> alter table tb_task_info enable row movement;
Table altered
然后再执行上面的闪回操作
SQL> flashback table tb_task_info to timestamp to_timestamp('2009-07-13 14:30:00','yyyy-mm-dd hh24:mi:ss');
Done
查询原来的表误删除的数据闪回回来了.