ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Q: truncate表后段空间不释放?!

Q: truncate表后段空间不释放?!

原创 Linux操作系统 作者:davidyu720 时间:2019-06-19 21:45:06 0 删除 编辑

今天truncate table user_his后,发现段空间并没有释放。
select * from user_segments
where segment_name = upper('user_his')
结果:blocks = 25600

原因:truncate 并不能回收全部的空间,在该表MIN_EXTENTS下的区间是不能回收的。
记得该表的initial extent很大。具体数据已经不可考了。

找到一个处理办法
1)执行以下语句后,表占用的block还是25600个
alter table user_his deallocate unused;
2)执行以下语句后:表占用的block就减少到24个,initial extent降低到192KB
alter table user_his deallocate unused keep 1k


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/9844649/viewspace-580052/,如需转载,请注明出处,否则将追究法律责任。

上一篇: 动态SQL的用途
请登录后发表评论 登录
全部评论

注册时间:2007-08-18

  • 博文量
    235
  • 访问量
    179762