转载地址:http://www.cnblogs.com/david-zhang-index/archive/2012/04/19/2457912.html
Oracle10g以后增加了回收站的功能,其作用类似于window的回收站。
一般的drop table后,会将对应的表放到回收站中,待有需要恢复时对表进行恢复。
默认情况下,Oracle是将此功能开启的。但是在有些情况下,我们不希望对删除的表进行回收,则可以采用如下方式设置:
1、session级别的。alter session set recyclebin=off;
2、system级别的。alter system set recyclebin=off;(执行报错,此选项初始化参数不可更改。ORA-02096)
其中,session级别的比较适合上面说的情况,即只在某些情况下不回收,但是希望非指定的情况下还是能够回收的。
当然,以上是在事务级别和系统级别的设置,也可以在单个语句级别对此进行控制。也就是在drop table...之后加上purge子句,可以将指定的表直接删除。类似windows下按住shift时删除的模式。
drop table table_name;的指令会将表放到回收站里。
用flashback table table_name to before drop;就能恢复。
清空回收站:
purge recyclebin;
清空指定表:
purge table table_name;