Veritas Storage Foundation 5.1 SP1: Storage and Availability Management for Oracle (5900-1504, April 2011)

Figure 13-1
How Oracle stores database objects
Drive 2
Drive 1
Index
Index
Index
Index
Table
Index
Table
Index
Index
Table
Table
Index
Table
Cluster
Index
Index
Index
System tablespace
Database tablespace
Table
Index
Table
Database
Database file 1
Database file 2
Database file 3
Database objects
may span files
At the finest level of granularity, an Oracle database stores data in data blocks
(also called logical blocks, Oracle blocks, or pages). One data block corresponds
to a specific number of bytes of physical database space on disk. The next level
of logical database space is an extent. An extent is a specific number of contiguous
data blocks allocated for storing a specific type of information from a given datafile
in a tablespace. The level of logical database storage greater than an extent is
called a segment. A segment is a set of extents, each of which has been allocated
for a specific data structure and all of which are stored in the same tablespace.
For example, each table's data is stored in its own data segment, while each index's
data is stored in its own index segment. If the table or index is partitioned, each
partition is stored in its own segment. An Oracle database allocates space for
segments in units of one extent. When the existing extents of a segment are full,
an Oracle database allocates another extent for that segment. Because extents
are allocated as needed, the extents of a segment may or may not be contiguous
on disk. A segment and all its extents are stored in one tablespace. Within a
239Understanding storage tiering with SmartTier
How SmartTier for Oracle works