1.首先用語句查詢容量大於1G的數據段
select segment_name,sum(bytes)/1024/1024 from dba_segments group by segment_name having sum(bytes)/1024/1024>1000;
獲得以下結果:
SYS_LOB0000136091C00003$$ 255332M
SYS_LOB0000136441C00004$$ 7170M
SYS_C0082042 1305M
SYS_C0080433 1340M
2.根據LOB段查詢該該lob段屬於哪一個表
select table_name,segment_name from dba_lobs where segment_name='SYS_LOB0000136091C00003$$';
經查得知是ADU_*表佔了不少容量
3.用Dbvisulizer連到數據庫,刪除重複的數據行,但刪除這些重複的數據後,並不會釋放出磁盤空間
4.釋放lob類型數據佔據的空間
alter table adu_* move tablespace BFPICK lob(content) store as (tablespace bfpick)
5.以後就釋放了重複數據所佔的空間了,而後在對該表重建索引
alter index ***** rebuild;數據庫