How-to: Storage - Blocks, Extents, Segments


Oracle database data is stored in data blocks.
One data block corresponds to a specific number of bytes of physical database space on disk. (e.g. 1 block = 16 Kbytes)


An extent is a specific number of contiguous data blocks, obtained in a single allocation, used to store a specific type of information.

A small table can fit in a single extent, a large table can require multiple extents.


The level of logical database storage above an extent is called a segment.
A segment is a set of extents allocated for a certain logical structure: Data /Index /Rollback/ Temporary segment. The allocation of extents for a given segment is handled different for Locally Managed Tablespaces and Dictionary Managed Tablespaces.

Extent deallocation

In general, the extents of a segment do not return to the tablespace until you drop the schema object whose data is stored in them.

Exceptions to this include the following:

After you DROP a nonclustered table Oracle makes the extents available for other schema objects in the same tablespace.

Block Sizes

The block size of the SYSTEM tablespace is termed the standard block size. This is set when the database is created and can be any valid size.
Early versions of Oracle supported just one block size set at database creation, you can now specify up to four nonstandard block sizes, in addition to a standard block size.

In the initialization file, you can configure subcaches within the buffer cache for each of these block sizes. Subcaches can also be configured while an instance is running. You can create tablespaces having any of these block sizes.

The standard block size is used for the system tablespace and most other tablespaces. All partitions of a partitioned object must reside in tablespaces of a single block size. Multiple block sizes are useful primarily when transporting a tablespace from an OLTP database to an enterprise data warehouse.

Automated Storage Management (ASM)

ASM is a feature of Oracle 10g. ASM simplifies the organisation of disks and files by enabling ASM Disk Groups - logical units comprised of disks and the files that reside on them.

ASM can be used for:

ASM works with raw devices, SAN based storage arrays, or NAS. I/O performance is maximized because files are optimally distributed (and mirrored) across the available devices. Configuration changes can be made while the database is online and the distribution will be re-balanced. ASM mirrors provide an extra layer of protection against data loss.

"Ever notice that the area of a department store containing completely useless objects is called 'gifts?' ~ Anon

See also


Copyright © 1999-2023
Some rights reserved