1、以下演示emp表被drop table后的恢复操作;
1步: 创建emp表,只有2条记录;
SQL> create table emp as select * from scott.emp where rownum<=2;
Table created.
SQL> select count(*) from emp;
COUNT(*)
2
2步: 模拟误操作;
SQL> drop table emp;
Table dropped.
3步: 新增emp表,记录有14条;
SQL> create table emp as select * from scott.emp;
Table created.
SQL> select count(*) from emp;
COUNT(*)
14
4步: 查看当前回收站信息
SQL> select object_name,original_name from recyclebin;
OBJECT_NAME ORIGINAL_NAME
BIN$yk0/yUmybfXgU9MBqMAqtw==$0 EMP
5步: 恢复emp表,并重命名emp_new
SQL> flashback table “BIN$yk0/yUmybfXgU9MBqMAqtw==$0” to before drop rename to emp_new;
Flashback complete.
SQL> select count(*) from emp_new;
COUNT(*)
2
【小结】
A、要使用flashback drop功能恢复误删除的表,需要做如下准备:
确认被删除的表在Recycle Bin中的名称;
确认名称后,使用flashback table就可以了,并且该对象的关联对象也会被自动恢复;
B、但对象的参考约束不会被恢复,也就是指向该对象的外键约束需要重建;