You can defer the creation of segments when creating a partitioned table until the first row is inserted into a partition. Subsequently, when the first row is inserted, segments are created for the base table partition, LOB columns, all global indexes, and local index partitions. Deferred segment creation can be controlled by the following:
Setting the DEFERRED_SEGMENT_CREATION
initialization parameter to TRUE
or FALSE
in the initialization parameter file.
Setting the initialization parameter DEFERRED_SEGMENT_CREATION
to TRUE
or FALSE
with the ALTER
SESSION
or ALTER
SYSTEM
SQL statements.
Specifying the keywords SEGMENT
CREATION
IMMEDIATE
or SEGMENT
CREATION
DEFERRED
with the partition clause when issuing the CREATE
TABLE
SQL statement.
You can force the creation of segments for an existing created partition with the ALTER
TABLE
MODIFY
PARTITION
ALLOCATE
EXTENT
SQL statement. This statement allocates one extent more than the initial number of extents specified during the CREATE
TABLE
.
Serializable transactions do not work with deferred segment creation. Inserting data into an empty table with no segment created, or into a partition of an interval partitioned table that does not have a segment yet, can cause an error.
Oracle Database Reference for more information about the DEFERRED_SEGMENT_CREATION
initialization parameter
Oracle Database SQL Language Reference for more information about the ALTER
SESSION
and ALTER
SYSTEM
SQL statements
Oracle Database SQL Language Reference for more information about the keywords SEGMENT
CREATION
IMMEDIATE
and SEGMENT
CREATION
DEFERRED
of the CREATE
TABLE
SQL statement