Oracle 回收站清理

lovehewenyu發表於2013-08-23

Oracle 回收站清理

前幾天,看到落落調優了一條由於回收站過大引起的 SQL 問題,作為一個 DBA 提供一些清理回收站的 SQL

 

-- 回收站大小

select sum (mb) from (

select * from (

select a.owner,a.OBJECT_NAME,a.ORIGINAL_NAME,b.bytes/ 1024 / 1024 MB

  from dba_recyclebin a,dba_segments b where a.object_name=b.segment_name

order by MB desc ) ) ;

 

-- 回收站中物件的大小

select * from (

select a.owner,a.OBJECT_NAME,a.ORIGINAL_NAME,b.bytes/ 1024 / 1024 MB

  from dba_recyclebin a,dba_segments b where a.object_name=b.segment_name

order by MB desc ) where rownum < 11 ;

 

-- 生成清理回收站 SQL

select * from   ( select 'purge table ' ||a.owner|| '.' ||ORIGINAL_NAME|| ' ;'

from dba_segments b, dba_recyclebin a where a.object_name=b.segment_name  order by b.bytes desc )

where rownum < 11 ;

 

-- 直接清理整個回收站

purge dba_recyclebin ;

 

-- 參考文獻

落落調優 SQL

http://blog.csdn.net/robinson1988/article/details/9312913#comments

eygle Oracle10g 的回收站 (recyclebin) 和自由空間管理

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26442936/viewspace-769097/,如需轉載,請註明出處,否則將追究法律責任。

相關文章