关于空间释放的一些疑问

[复制链接]
查看11 | 回复4 | 2016-1-7 20:57:31 | 显示全部楼层 |阅读模式
不是太明白。
在oracle将一个区分配给一个段以后,该区被置为已用,oracle在什么样的条件下会把这个区重新置为free呢?
我delete数据会释放这个段的区吗?高手帮忙解释下 谢谢
回复

使用道具 举报

千问 | 2016-1-7 20:57:31 | 显示全部楼层
EXTENT_MANAGEMENT为dictionary时 delete后空间会在freelist记录,这部分空间会自动重用,但是增加了产生碎片的机会。
如果EXTENT_MANAGEMENT为auto时,oracle会自动处理。
回复

使用道具 举报

千问 | 2016-1-7 20:57:31 | 显示全部楼层
表空间的管理方式不是dictionary和local吗?段空间管理方式是manual和auto。
楼上说的我不是太理解,我想知道比较详细的,一个已被分配的区的释放标准是什么?
回复

使用道具 举报

千问 | 2016-1-7 20:57:31 | 显示全部楼层
truncate后 对于占用的空间会释放。
回复

使用道具 举报

千问 | 2016-1-7 20:57:31 | 显示全部楼层
我实验了一下,删除一个表的数据,并不会影响这个表区的分配,只有truncate或者drop这个表,区空间才会被回收。
truncate的话恢复到默认initial的标准。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行