现在的位置: 首页 > 数据库 > 正文

Oracle Purge命令使用详解

2017年07月18日 数据库 ⁄ 共 680字 评论数 1 ⁄ 阅读 473 次

类似Windows一样,在Oracle数据库中也有类似回收站的存在。我们drop一张表,但其实并未在物理上删除这张表。有时为了节省服务器磁盘空间,我们就需要在drop表时在其后加上purge选项。而在多用户时,当drop表频繁,为了管理回收站空间我们可以单独使用purge命令来回收空间。若用户表极大,超过了回收站的最大限制则会被oracle直接删除还不会存在回收站中。需要注意,PURGE语句不能回滚,清除以后也不可再恢复。

查看回收站中的内容我们可以使用如下SQL:

select * from user_recyclebin;

Purge的语法如下:

purge

1)清除单对象

可以清空自己用户回收站下指定表或索引,若回收站有多个同名对象,则清除时间最久的对象,也可以通过查该对象在回收站中的唯一ID来进行清除。有DBA权限的用户可以通过‘用户.表名’的方式来清除其他用户回收站中表。但查看其他用户回收站下对象只能用DBA_RECYCLEBIN,而不能是USER_RECLEBIN。

2)清除用户级

清空本用户下回收站可以直接用purge recyclebin,DBA并不能清楚指定用户下回收站,只能使用purge dba_recyclebin清除所有用户的回收站,不存在user_recycbin或user.recycbin。想清除指定用户在回收站中存留的数据可以用tablespace模式,见下例。

3)清除表空间级

清除回收站中指定表空间的数据可以用PURGE TABLESPACE tablespace,同样,可以仅清除回收站中指定表空间下指定用户的数据,只需要在后面加USER选择即可。

» 声明:本站文章源于个人经验总结或书籍、互联网转载,内容仅用于个人学习,请勿转载,否则后果自负!

目前有 1 条留言 其中:访客:1 条, 博主:0 条

  1. 美股行情 : 2017年07月19日03:06:22  -49楼 @回复 回复

    学习一下~~~~支持顶起

给我留言

留言无头像?