SMON wakes up every 5th minute and checks for tablespaces with default pctincrease != 0. However, SMON might not coalesce all free space every time it runs.
Coalescing means gathering together small chunks of free space into larger chunks of free space. This hopefully answers your 2nd question.
Oracle Certified Master
Oracle Certified Professional 6i,8i,9i,10g,11g
email: ocp_9i@yahoo.com
Why does SMON coalesces free space only when we set the PCTINCREASE>0.
what is the logic behind this.
In theory, if PCTINCREASE = 0, you won't need to coalesce because your extents will be equally sized. Therefore, they can be reused without being coalesced into bigger chunks.
when you insert data into extents, DBWR looks for an extent which is bigger than the current extent (if PCTINCREASE > 0). If SMON doesn't coalesce the free space into larger extents, data never gets inserted into those extents and the tablespace gets fragmented.
Originally posted by rameshk when you insert data into extents, DBWR looks for an extent which is bigger than the current extent (if PCTINCREASE > 0). If SMON doesn't coalesce the free space into larger extents, data never gets inserted into those extents and the tablespace gets fragmented.
The space allocation in Oracle is not that simple, it depends on several things: if the request for space would occupy more or less than 5 blocks, if Oracle needs to split the extent or find an exact match and on the order of the listed free extents in the SGA.
Oracle Certified Master
Oracle Certified Professional 6i,8i,9i,10g,11g
email: ocp_9i@yahoo.com
Bookmarks