首页 >数据库 >mysql教程 >Oracle 表空间异常增长过快解决方法

Oracle 表空间异常增长过快解决方法

WBOY
WBOY原创
2016-06-07 17:21:541907浏览

1. 首先用语句查询容量大于1G的数据段 select segment_name,sum(bytes)/1024/1024 from dba_segments group by segment_name ha

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;

linux

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn