Oracle 10G中有一個好功能,就是Recycle,這個東西可以幫助我們找回刪除掉的Table,就像Windows的回收站一樣,而且比Windows的回收站更高級,就是當表空間不夠時,Oracle?會自動去清理回收站。
網(wǎng)上有一篇文章講這個東西,大家可以參考:
http://hi.baidu.com/moses/blog/item/0d9a4b3659bd3edca3cc2bc3.html這篇文章寫得還不錯,不過其中有些內容有誤,比如清除回收站內的Table,應該用table的原名,而不是現(xiàn)在的名字。大家仔細看就可以發(fā)現(xiàn)。
其實早先我們頭就問過我,為什么PLSQL中看到Object中有一堆bin打頭的Object,當時不知道是為什么,現(xiàn)在想來,真是夠笨的,用了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窗口中就可以清除了,呵呵。。。現(xiàn)在發(fā)現(xiàn),原來還有這個命令:
PURGE recyclebin;
根本用不了上面那么復雜。呵呵。。。
另,刪除Table不進入Recycle的方法:
drop table tableName purge;
不過,我想一般的人都不愿意用這個。
posted on 2007-11-28 18:11
Robin's Programming World 閱讀(6654)
評論(2) 編輯 收藏 所屬分類:
DB