今天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/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/9844649/viewspace-580052/