Locally-Managed Tablespaces
Prior to Oracle8i, management of free and used extents relied heavily on the
data dictionary tables. Oracle8i introduces Locally-Managed Tablespaces with an
improved space management implementation. This new tablespace type automatically sizes all
new extents at standard sizes, improving space allocation performance and eliminating free
extent fragmentation issues.
Oracle sizes new extents using either a uniform or automatic policy. If the tablespace
uses the uniform policy, all extents are the same size, which is set at tablespace
creation time. Since all extents are the same size, no fragmentation can occur. If the
tablespace uses the automatic policy, there are only small and large extents. Small
extents are automatically used for small database objects, and large extents are used for
large objects. Small extents are packed together in a group the size of a large extent. By
separating small and large extents, fragmentation is avoided.
The new type of tablespace is called Locally Managed because all extent information is
tracked in the tablespace itself using bitmaps. Bitmaps manage space allocation very
efficiently, and require no dictionary access and update to allocate an extent to a
object. This minimizes access to the data dictionary, improving availability. Because of
these improvements, Oracle recommends using Locally-Managed Tablespaces for all new
tablespaces if fragmentation is expected to be an issue.
|