在执行drop操作时,现在Oracle不是真正删除它,而是将该对象自动将放入回收站。所谓的回收站,是一个虚拟的容器,用于存放所有被删除的对象,可以利用flashback功能来恢复它。
SQL>
create table t1 as select * from dept;
表已创建。
SQL>
select * from t1;
DEPTNO DNAME LOC
---------- -------------- -----------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
SQL>
drop table t1;
表已删除。
SQL>
commit;
提交完成。
SQL>
select * from t1;
select * from t1
*
第 1 行出现错误:
ORA-00942: 表或视图不存在
SQL>
show recyclebin;
ORIGINAL NAME RECYCLEBIN NAME OBJECT TYPE DROP TIME
---------------- ------------------------------ ------------ -------------------
T1 BIN$Np1Z3oNRSNOxdp5AwF07yA==$0 TABLE 2015-07-10:17:36:47
SQL>
flashback table t1 to before drop;
闪回完成。
SQL>
select * from t1;
DEPTNO DNAME LOC
---------- -------------- -----------
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
使用Purge命令清除回收站中的对象
SQL>
create table t2 as select * from dept;
表已创建。
SQL>
select * from t2;
DEPTNO DNAME LOC
---------- -------------- -------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
SQL>
drop table t2;
表已删除。
SQL>
commit;
提交完成。
SQL> show recyclebin;
ORIGINAL NAME RECYCLEBIN NAME OBJECT TYPE DROP TIME
---------------- ------------------------------ ------------ -------------------
T2 BIN$kLwX71z7QTCrf712f7HDrA==$0 TABLE 2015-07-10:17:41:37
SQL>
purge table t2;
表已清除。
SQL>
show recyclebin;
SQL>
利用flashback恢复被drop的对象
猜你喜欢
转载自flymore89.iteye.com/blog/2226280
今日推荐
周排行