随笔-193  评论-715  文章-1  trackbacks-0
Oracle 10G中有一个好功能,就是Recycle,这个东西可以帮助我们找回删除掉的Table,就像Windows的回收站一样,而且比Windows的回收站更高级,就是当表空间不够时,Oracle 会自动去清理回收站。

网上有一篇文章讲这个东西,大家可以参考:
http://hi.baidu.com/moses/blog/item/0d9a4b3659bd3edca3cc2bc3.html
这篇文章写得还不错,不过其中有些内容有误,比如清除回收站内的Table,应该用table的原名,而不是现在的名字。大家仔细看就可以发现。

其实早先我们头就问过我,为什么PLSQL中看到Object中有一堆bin打头的Object,当时不知道是为什么,现在想来,真是够笨的,用了Oracle这久,居然都不知道这个东东(嘻嘻,好像很多同事都还不知道这个东东)。

清除的方法如下:
purge table origenal_tableName;
purge index origenal_indexName;

查询垃圾信息,可以用如下SQL语句:
SELECT t.object_name,t.type ,t.original_name FROM user_recyclebin t;

我写了个语句,可以帮你产生清除多个垃圾对象的SQL,简单得很,不想用PLSQL编程。如下:
SELECT 'purge ',t.type ,t.original_name,';' FROM user_recyclebin t;
然后把记录贴到PLSQL的SQL窗口中就可以清除了,呵呵。。。



现在发现,原来还有这个命令:
PURGE recyclebin;
根本用不了上面那么复杂。呵呵。。。

另,删除Table不进入Recycle的方法:
drop table tableName purge;
不过,我想一般的人都不愿意用这个。
posted on 2007-11-28 18:11 Robin's Programming World 阅读(6633) 评论(2)  编辑  收藏 所属分类: DB

评论:
# re: Oracle 10G中清空“回收站” 2009-05-06 10:31 |
他没有错,楼主。  回复  更多评论
  
# re: Oracle 10G中清空“回收站”[未登录] 2011-09-29 10:36 | 过客
现在发现,原来还有这个命令:
PURGE recyclebin;  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航: