Two types of statements can increase the free space of one or more data blocks:
DELETE statements, and UPDATE statements that update existing values to smaller
values.
The released space from these types of statements is available for subsequent
INSERT statements under the following conditions:
■ If the INSERT statement is in the same transaction and subsequent to the
statement that frees space, then the INSERT statement can use the space made
available.
■ If the INSERT statement is in a separate transaction from the statement that frees
space (perhaps being run by another user), then the INSERT statement can use the
space made available only after the other transaction commits and only if the space is needed.
Released space may or may not be contiguous with the main area of free space in a
data block. Oracle coalesces the free space of a data block only when (1) an INSERT or UPDATE statement attempts to use a block that contains enough free space to contain a new row piece, and (2) the free space is fragmented so the row piece cannot be
inserted in a contiguous section of the block.
[@more@]来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10599713/viewspace-931800/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/10599713/viewspace-931800/
本文探讨了通过DELETE和UPDATE语句释放数据库块空间的方法,并讨论了这些空间如何被后续的INSERT操作所利用。文章还介绍了Oracle数据库如何处理这些空闲空间,包括在何种条件下可以复用这些空间,以及如何在空间碎片化的情况下进行空间的合并。
3392

被折叠的 条评论
为什么被折叠?



