How PCTFREE and PCTUSED Work Together(十)

tsinglee發表於2007-08-06

In a newly allocated data block, the space available for inserts is the block size minus
the sum of the block overhead and free space (PCTFREE).

free lists—lists of
data blocks that have been allocated for that segment’s extents and have free space
greater than PCTFREE. These blocks are available for inserts. When you issue an
INSERT statement, Oracle checks a free list of the table for the first available data block
and uses it if possible. If the free space in that block is not large enough to
accommodate the INSERT statement, and the block is at least PCTUSED, then Oracle
takes the block off the free list. Multiple free lists for each segment can reduce
contention for free lists when concurrent inserts take place.

After you issue a DELETE or UPDATE statement, Oracle processes the statement and
checks to see if the space being used in the block is now less than PCTUSED. If it is,
then the block goes to the beginning of the transaction free list, and it is the first of the
available blocks to be used in that transaction. When the transaction commits, free
space in the block becomes available for other transactions.

my question:if the space being used in the block is greater than PCTUSED then what oracle do?

[@more@]

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10599713/viewspace-932311/,如需轉載,請註明出處,否則將追究法律責任。

相關文章