dba_free_space查詢速度慢問題解決

djb1008發表於2012-08-22

查詢dba_free_space檢視速度很慢的問題解決

在一次資料庫巡檢過程中,想查詢當前庫各個表空間的剩餘空間情況,執行下面的SQL語句,很長時間沒有結果出來(幾個小時)
SQL>select tablespace_name,sum(bytes/1024/1024) from dba_free_space group by tablespace_name;

[@more@]


在網上搜尋了一下,有文章提到可能是回收站的物件太多導致的.
於是檢查回收站的情況,果然是這個原因,檢查的結果如下:
SQL>select count(1) from dba_recyclebin;
561000
鑑於當前庫是一個資料倉儲型別的資料庫,所以手工關閉了垃圾回收站選項(OLTP資料庫千萬不要關閉這個選項).
SQL>alter system set recyclebin=off scope=both;
查詢回收站裡面的物件,大都是臨時使用的表,如下:
SQL>select owner,object_name,original_name from dba_recyclebin;
OWNER OBJECT_NAME ORIGINAL_NAME
DNLGL BIN$wls0S5rbCcngQAB/AQAqTw==$0 C$_0POWER_TRANSFORMER_PWSC
DNLGL BIN$wls0JCBoxbngQAB/AQAqTQ==$0 C$_0OUTER_CUSTOMER
......
諮詢了開發廠商後,確定回收站中物件無用後,手工清除.
SQL>purge dba_recyclebin;

清除回收站用了很長的時間,需要耐心的等待啊.
清除完回收站後,再次執行查詢表空間的剩餘空間,很快就有結果輸出了.

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

相關文章