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;