注意事项
要清除的对象(table/index)属于用户自己,不需要授予权限。
如果要清除的对象属于其他用户,按照对象类型,需要的权限要求为:
清除表需要DROP ANY TABLE权限。
清除索引需要DROP ANY INDEX权限。
清空回收站需要PURGE DBA_RECYCLEBIN权限。
清除表空间需要DROP TABLESPACE权限。
数据库重启回滚期间不支持该操作。
语法格式
PURGE { TABLE [schema_name.]table_name
| INDEX index_name
| TABLESPACE tablespace_name | RECYCLEBIN
}
参数说明
[ schema_name. ]
用户名。不指定时默认是当前登录用户。
TABLE [schema_name.]table_name
清空回收站中的表。
INDEX index_name
清空回收站中的索引。
TABLESPACE tablespace_name
清空回收站中的表空间。取值范围:视图和表名。
RECYCLEBIN
清空回收站所有对象。
示例
清除回收站中的表subsidies_dep1_2018。
--MOUNT状态下删除表空间human_subsidies_2018。
DROP TABLESPACE human_subsidies_2018;
--OPEN状态下创建表空间human_subsidies_2018。
CREATE TABLESPACE human_subsidies_2018 DATAFILE 'subsidies2018' SIZE 32M;
--删除表subsidies_dep1_2018。
DROP TABLE IF EXISTS subsidies_dep1_2018;
--创建表subsidies_dep1_2018。
CREATE TABLE subsidies_dep1_2018(staff_id INT NOT NULL, staff_name CHAR(50), job VARCHAR(30), subsidies NUMBER) TABLESPACE human_subsidies_2018;
--删除表subsidies_dep1_2018。
DROP TABLE IF EXISTS subsidies_dep1_2018;
--查询回收站。
SELECT * FROM SYS.SYS_RECYCLEBIN;
ID NAME USER# ORG_NAME
--------------------- ------------ -------------------------------
509171 BIN$2048$7C4F3==$0 0 SUBSIDIES_DEP1_2018
1 rows fetched.
--清除回收站中的表subsidies_dep1_2018;。
PURGE TABLE subsidies_dep1_2018;