oracle删除表和表数据后怎么闪回
oracle删除表和表数据后如何闪回
10G开始默认drop表后改名移动到回收站;
闪回(flashback)语句:
1、能在一个语句中把表恢复到指定的时间点;
2、恢复表数据连同索引与约束信息;
3、能返回表及其内容到指定时间点或系统变更号(SCN);
4、修复表的误操作
--闪回简单示例: SQL> drop table emp2; Table dropped SQL> select original_name,operation,droptime from recyclebin; ORIGINAL_NAME OPERATION DROPTIME -------------------------------- --------- ------------------- EMP2 DROP 2012-11-16:10:49:13 SQL> flashback table emp2 to before drop; Done SQL> select count(*) from emp2; COUNT(*) ---------- 107 --恢复误删表数据示例: SQL> select sysdate 时间, timestamp_to_scn(sysdate) SCN from dual; 时间 SCN ----------- ---------- 2012/11/16 1230043 SQL> delete from emp2; 107 rows deleted SQL> commit; Commit complete SQL> select count(*) from emp2; COUNT(*) ---------- 0 SQL> flashback table emp2 to scn 1230043; flashback table emp2 to scn 1230043 ORA-08189: cannot flashback the table because row movement is not enabled SQL> alter table emp2 enable row movement; Table altered SQL> flashback table emp2 to scn 1230043; Done SQL> select count(*) from emp2; COUNT(*) ---------- 107