When you create a locally
managed tablespace using the create TABLESPACE
statement, the SEGMENT SPACE MANAGEMENT AUTO
replaces the one-way linked list with a bitmap array freelists.
This clause
lets you specify how free and used space
within a segment is to be managed. It
completely eliminates any need to specify and
tune the pctused, freelists, and
freelist groups storage parameters for
schema objects created in the tablespace. If
any of these attributes are specified, they
are ignored.
For example, the following statement
creates tablespace mytbs1 with automatic
segment-space management:
CREATE
TABLESPACE mytbs1
DATAFILE '/u01/oracle/data/mytbs01.dbf' SIZE
500M
EXTENT MANAGEMENT LOCAL
SEGMENT SPACE MANAGEMENT AUTO;
Automatic segment-space management offers
the following benefits:
- Segment space management auto provides administrative ease of use
by avoiding the specification of storage
parameters.
-
Segment space management auto is a good method for handling objects
with varying row sizes.
-
Segment space management auto provides better run-time adjustment
for variations in concurrent access and
avoids tedious tuning methods.
-
Segment space management auto provides better multi-instance
behavior in terms of performance/space
utilization.
The in-segment free/used space is tracked
using bitmaps as opposed to the free lists.
When you cannot use the locally managed
tablespace, and therefore the automatic
management space feature, you have to depend
on the traditional method of managing free
lists and free lists groups.
However, note that this automatic feature
of segment space management is available only
with locally managed tablespaces and their
objects. A new column called
SEGMENT_SPACE_MANAGEMENT has been added to the
dba_tablespaces view to indicate the
segment space management mode used by a
tablespace.
Use the Oracle procedure
dbms_space.space_usage to provide the
space usage ratio within each block in the
Bitmap Managed Block (BMB) segments.