使用PURGE语句从回收站中清除表,索引,已删除的表空间或者整个回收站,并释放与对象关联的所有空间.PURGE语句不能回滚,清除以后也不能恢复.
查询USER_RECYCLEBIN
数据字典查阅回收站内容,也使用RECYCLEBIN同义词.下面的两个语句返回相同的行:
select * from user_recyclebin;
select * from recyclebin;
PURGE语句的语法:
语义:
TABLE or INDEX
指定想要清除回收站中的表或索引的名字,可以指定原来用户指定的名称或者删除对象时数据库自动分配的对象.
- 如果指定了用户指定的名称,并且回收站中包含不止一个该名称的对象,那么数据库清除停留在回收站中最常时间的对象.
- 系统生成的回收站对象名称是唯一的.因此,如果指定了系统生成的名称,那么数据库清除指定对象.
当数据库清除表时,所有的表分区,LOB和LOB分区,索引和其他依赖该表的对象也被清除.
RECYCLEBIN
使用这个子句清除当前用户的回收站.数据库将从用户的回收站中移除所有对象,并释放回收站中与对象关联的所有空间.
DBA_RECYCLEBIN
该子句只有拥有SYSDBA系统对象权限才有效。从整个系统回收站清除所有对象,相当于清除每个用户的回收站。
TABLESPACEtablespace
使用该子句从回收站清除指定表空间驻留的所有对象。
USERuser
使用该子句可以回收指定用户在表空间中的空间。
Examples
1.使用对象原来名称,从回收站中清除表EMP。
purge table EMP;
2.使用系统生成名称,从回收站中清除表EMP
purge table BIN$6kHa6WY7cZzgQAB/AQAWRg==$0;
3.清除整个回收站
purge recyclebin;
4.清除指定表空间
purge tablespace users;
5.清除表空间中指定用户的空间
purge tablespace users user scott;purge tablespace users user scott;purge tablespace users user scott;