在10g中,如果启用flash drop功能,在drop表时,数据库不会直接删除,而是将其放在回收站中,当空间出现短缺时,才会逐渐回收这部分空间。
--查看回收站的当前状态
SELECT Value FROM V$parameter WHERE Name = 'recyclebin';
--启用或者关闭回收站的会话和系统
ALTER SYSTEM SET recyclebin = ON;
ALTER SESSION SET recyclebin = ON;
ALTER SYSTEM SET recyclebin = OFF;
ALTER SESSION SET recyclebin = OFF;
--获取回收站中的内容
SELECT * FROM RECYCLEBIN;
SELECT * FROM USER_RECYCLEBIN;
SELECT * FROM DBA_RECYCLEBIN;
--还原被删除的对象
FLASHBACK TABLE <<Dropped_Table_Name>> TO BEFORE DROP RENAME TO <<New_Table_Name>>;
--清空回收站
1.清空特定表:PURGE TABLE <<Table_NAME>>;
2.清空一个特定的索引:PURGE INDEX <<Index_NAME>>;
3.清空与该表空间有关联的对象:PURGE TABLESPACE<<Table_NAME>>;
4.清空一个特定用户的表空间对象:PURGE TABLESPACE<<Table_NAME>> USER <<User_Name>>;
5.清空回收站:PURGE RECYCLEBIN;
6.删除表时清空回收站:DROP TABLE <<Table_Name>> PURGE;