oracle表空间异常大
以前的oracle数据库导出来不到100M,可是这次上线前导数据库,dmp文件确到了500M+。
1、肯定有很多垃圾数据在,查阅文档后找到查看表空间物理大小的语句
select * from user_segments;
当存大文本时会新建一些“临时表”。这些表占空间极大。
查看物理表所占空间大小:
analyze table FILE_MANAGEMENT compute statistics;
select num_rows * avg_row_len
from user_tables
where table_name = 'SYS_FILE';
2、这时要先看临时表对应哪个物理表的字段:
select * from dba_lobs where segment_name like 'SYS_LOB0000096578C00019$$';
3、然后清空该物理表,最后释放lob类型数据的空间
alter table FILE_MANAGEMENT move tablespace CCP1115 lob(FILEBLOB) store as (tablespace CCP1115)
4、最后对该表重建索引
alter index ***** rebuild;
亲测可用,但是记得要先清物理表!!!切记
欢迎大家加我qq:309620263探讨技术问题。