oracle drop table recyclebin恢复

Posted 长城之上是千亿的星空,星空之上是不灭的守望。

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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在回收站已经不见了
 
 

以上是关于oracle drop table recyclebin恢复的主要内容,如果未能解决你的问题,请参考以下文章

oracle drop table recyclebin恢复

Oracle10g 回收站及彻底删除table : drop table xx purge

Oracle Drop Table

11gR2 中带有 Oracle DROP TABLE 的脚本

Oracle 11g XE "alter table drop column" 导致 ORA-00600

ORACLE DROP TABLE和truncate table的区别,以及删除表后,相关的索引是不是也一并删除