1. 连接sqlplus 创建一个表
SQL> conn liang/chengce243
Connected.
QL> create table T8 as select * from user_objects;
Table created.
SQL> select count(*) from T8;
COUNT(*)
----------
7
2.删除T8表
SQL> drop table T8;
Table dropped.
SQL> select count(*) from T8;
select count(*) from T8
*
ERROR at line 1:
ORA-00942: table or view does not exist
可以看到表T8已经被删除
3.查看recyclebin的信息
SQL> col origninal_name format a15;
SQL> col type format a15;
SQL> select object_name,original_name,type from user_recyclebin;
OBJECT_NAME ORIGINAL_NAME TYPE
------------------------------ -------------------------------- ---------------
BIN$g33SY4j/OKHgU2U4qMA8fQ==$0 T8 TABLE
可以看到T8就是刚才被删除的表
4.闪回删除的表
SQL> flashback table T8 to before drop;
Flashback complete.
SQL> select count(*) from T8;
COUNT(*)
----------
7
可以看到表T8已经被恢复
如果出现这样的情况:表t1删除后,一个同名的对象t1被创建,闪回的时候需要重新命名
flashback table t1 to before drop rename to t2;
还有一种情况:同名的表被多次drop到了recyclebin中,这时候遵循后进先出的原则.
5.一旦完成闪回恢复,Recycle Bin中的对象就消失了.
SQL> select object_name,original_name,type from user_recyclebin;
no rows selected
可以看到T8在回收站已经不见了