Chinaunix首页 | 论坛 | 博客
  • 博客访问: 80952
  • 博文数量: 65
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 500
  • 用 户 组: 普通用户
  • 注册时间: 2014-04-30 11:16
个人简介

cuug

文章分类
文章存档

2014年(65)

我的朋友

分类: Oracle

2014-06-19 13:28:00

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;
阅读(830) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~