Skip to content

清理回收站

回收站是逻辑存储容器,依赖于原有表所占空间。如果不对回收站进行清除操作,回收站中的表对象会一直存在,导致空间一直被占用。

回收站提供PURGE命令来清除回收站对象,以及原有的DROP数据库/用户/模式也会清除回收站对象,从而释放空间。

包含以下五种方式:

  • 索引
  • 当前用户的所有对象
  • 当前库下所有用户的所有对象
  • 删除库/用户/模式

清理回收站时,与此表相关的索引和触发器也同时清理。若是存在同名表,则清理第一个进入回收站的表。

语法格式

sql
PURGE TABLE  old_tab_name/"recycle_tab_name"

示例

sql
SQL> PURGE TABLE INDEX_TABLE4;

Execute successful.
Use time:29 ms.

索引

清理回收站时,若是存在同名表的同名索引,则清理最早进入回收站的索引。

说明:

主键索引无法删除。

语法格式

sql
PURGE INDEX old_tab_name.old_idx_name/"recycle_tab_name"."recycle_idx_name"

示例

sql
SQL> PURGE INDEX INDEX_TABLE4.INDEX_TABLE4;

Execute successful.
Use time:26 ms.

当前用户的所有对象

语法格式

sql
PURGE RECYCLEBIN;

示例

sql
SQL> PURGE RECYCLEBIN;

Execute successful.
Use time:11 ms.

当前库下所有用户的所有对象

当前用户需要DBA权限。

语法格式

sql
PURGE DBA_RECYCLEBIN;

示例

sql
SQL> PURGE DBA_RECYCLEBIN;

Execute successful.
Use time:12 ms.

删除库/用户/模式

删除库、用户和模式时,回收站中若存在该库、用户和模式的所属对象,也会从回收站中删除。