oracle drop table recyclebin恢复

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在回收站已经不见了
 
 

猜你喜欢

转载自www.cnblogs.com/liang545621/p/12611641.html