Oracle ASM file components
Extents
·
The contents of
Oracle ASM files are stored in a disk group as a set, or collection, of extents that are stored on individual disks
within disk groups.
·
Each extent
resides on an individual disk.
·
Extents consist of
one or more allocation units (AU).
·
To accommodate
increasingly larger files, Oracle ASM uses variable size extents.
·
Variable size
extents enable support for larger Oracle ASM data files, reduce SGA memory
requirements for very large databases, and improve performance for file create
and open operations.
·
The initial extent
size equals the disk group allocation unit size and it increases by a factor of
4 or 16 at predefined thresholds. This feature is automatic for newly created
and resized data files when specific disk group compatibility attributes are
set to 11.1 or higher.
The extent size of a file varies as
follows:
- Extent size always equals
the disk group AU size for the first 20000 extent sets (0 - 19999).
- Extent size equals 4*AU
size for the next 20000 extent sets (20000 - 39999).
- Extent size equals 16*AU
size for the next 20000 and higher extent sets (40000+).
Figure 1-4 shows the Oracle ASM file extent relationship with
allocation units. The first eight extents (0 to 7) are distributed on four
Oracle ASM disks and are equal to the AU size. After the first 20000 extent
sets, the extent size becomes 4*AU for the next 20000 extent sets (20000 -
39999). This is shown as bold rectangles labeled with the extent set numbers
20000 to 20007, and so on. The next increment for an Oracle ASM extent is 16*AU
(not shown in Figure 1-4).
Figure 1-4 Oracle ASM File Allocation in a Disk Group
- To balance loads across all of the disks in a
disk group
- To reduce I/O latency
Coarse-grained striping provides load balancing for disk groups while fine-grained striping reduces latency
for certain file types by spreading the load more widely.
To stripe data, Oracle ASM separates files into stripes and
spreads data evenly across all of the disks in a disk group. The fine-grained
stripe size always equals 128 KB in any configuration; this provides lower I/O
latency for small I/O operations. The coarse-grained stripe size is always
equal to the AU size (not the data extent size).
Figure 1-5 and Figure 1-6 are illustrations of Oracle ASM file striping. In both
illustrations, the allocation unit size has been set to 1 M (AU_SIZE = 1M) for the disk group which consists of 8 disks. The
Oracle ASM instance is release 11.2 and the disk group compatibility attributes
for ASM and RDBMS have been set to 11.2, so variable extents are shown in the
graphic after the first 20,000 extents. For the first 20,000 extents, the
extent size is 1 M and equals one allocation unit (AU). For the next 20,000
extents, the extent size is 4 M and equals 4 AUs.
To identify the stripe chunks of the file, they have been
labeled A..X (24 letters) using different fonts for successive series of A..X
until all the chunks have been identified.
In Figure 1-5, the file is striped in 128 K chunks
(labeled A..X) with each 128 K chunk stored in an extent, starting at the first
extent in disk 1, then the first extent in disk 2, and then continuing in a
round-robin pattern through all the disks until the entire file has been
striped. As shown in this example, the striping chunks first fill up the first
extent of each disk, then the second extent of each disk, and so on until the
entire file has been striped.
In Figure 1-6, the file is striped in 1 M chunks
(labeled A..X) with each 1 M chunk stored uniquely in an extent, starting at
the first extent in disk 1, then the first extent in disk 2, and then
continuing in a round-robin pattern through all the disks until the entire file
has been striped. For the first 20,000 extents where the AU equals the extent
size (1 M), the stripe equals the extent size and allocation unit size. For the
variable extents, where an extent is composed of multiple allocation units, the
file stripe is located in an AU of the extent. The striping chunks are placed
in the allocation units of the first extents of all the disks before the
striping continues to the next extent.
Templates are collections of attribute values that are used to
specify disk regions, file mirroring, and striping attributes for an Oracle ASM file when it is created.
When creating a file, you can include a template name and assign desired
attributes based on an individual file rather than the file type.
A default template is provided for every Oracle file type, but
you can customize templates to meet unique requirements. Each disk group has a
default template associated with each file type.
No comments:
Post a Comment