Oracle ASM Disk Groups
A disk group consists of multiple disks and is
the fundamental object that Oracle ASM manages. Each disk group contains the
metadata that is required for the management of space in the disk group. Disk
group components include disks, files, and allocation units.
Files are allocated from disk groups.
Any Oracle ASM file is completely contained within a single disk group.
However, a disk group might contain files belonging to several databases and a
single database can use files from multiple disk groups. For most installations
you need only a small number of disk groups, usually two, and rarely more than
three.
About Mirroring and Failure Groups
Mirroring protects data integrity by storing copies of data on
multiple disks. When you create a disk group, you specify an Oracle ASM disk
group type based on one of the following three redundancy levels:
·
Normal for 2-way mirroring
·
High for 3-way mirroring
·
External to not use Oracle ASM mirroring,
such as when you configure hardware RAID for redundancy
About Oracle ASM Disks
Oracle ASM
disks are the storage devices that are provisioned to Oracle ASM disk groups.
Examples of Oracle ASM disks include:
·
A disk or partition from a storage array
·
An entire disk or the partitions of a disk
·
Logical volumes
·
Network-attached files (NFS)
When you add a disk to a disk group, you can assign an Oracle ASM
disk name or Oracle ASM assigns the Oracle ASM disk name automatically. This
name is different from the path name used by the operating system. In a cluster,
a disk may be assigned different operating system device names on different
nodes, but the disk has the same Oracle ASM disk name on all of the nodes. In a
cluster, an Oracle ASM disk must be accessible from all of the instances that
share the disk group.
Oracle ASM spreads the files proportionally across all of the
disks in the disk group. This allocation pattern maintains every disk at the
same capacity level and ensures that all of the disks in a disk group have the
same I/O load. Because Oracle ASM load balances among all of the disks in a
disk group, different Oracle ASM disks should not share the same physical
drive.
Allocation Units
Every Oracle ASM disk is divided into allocation units (AU). An
allocation unit is the fundamental unit of allocation within a disk group. A
file extent consists of one or more allocation units. An Oracle ASM file
consists of one or more file extents.
When you create a disk group, you can set the Oracle ASM
allocation unit size with the
AU_SIZE
disk group
attribute. The values can be 1, 2, 4, 8, 16, 32, or 64 MB, depending on the
specific disk group compatibility level. Larger AU sizes typically provide
performance advantages for data warehouse applications that use large
sequential reads.
About Oracle ASM Files
Files that
are stored in Oracle ASM disk groups are called Oracle ASM files. Each Oracle
ASM file is contained within a single Oracle ASM disk group. Oracle Database
communicates with Oracle ASM in terms of files. This is similar to the way
Oracle Database uses files on any file system. You can store the various file
types in Oracle ASM disk groups, including:
·
Control files
·
Data files, temporary data files, and data file copies
·
SPFILEs
·
Online redo logs, archive logs, and Flashback logs
·
RMAN backups
·
Disaster recovery configurations
·
Change tracking bitmaps
·
Data Pump dumpsets
Oracle ASM automatically generates Oracle ASM file names as part
of file creation and tablespace creation. Oracle ASM file names begin with a
plus sign (
+
) followed by a disk group name. You can specify user-friendly
aliases for Oracle ASM files and create a hierarchical directory structure for
the aliases.
The following sections describe the 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).
Oracle ASM
Striping
·
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.
File Templates
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.
Understanding
Oracle ASM Disk Group Administration
This section describes Oracle ASM disk group administration and it
contains the following topics:
About
Discovering Disks
The
disk discovery process locates the operating system names for disks that Oracle
ASM can access. Disk discovery finds all of the disks that comprise a disk
group to be mounted. The set of discovered disks also includes disks that could
be added to a disk group.
An Oracle ASM
instance requires an
ASM_DISKSTRING
initialization parameter value to specify its discovery strings. Only path
names that the Oracle ASM instance has permission to open are discovered. The
exact syntax of a discovery string depends on the platform, ASMLib libraries,
and whether Oracle Exadata disks are used. The path names that an operating
system accepts are always usable as discovery strings.
About
Mounting and Dismounting Disk Groups
A disk group must be mounted by a local Oracle ASM instance before
database instances can access the files in the disk group. Mounting the disk
group requires discovering all of the disks and locating the files in the disk
group that is being mounted.
You can explicitly dismount a disk group. Oracle reports an error
if you attempt to dismount a disk group without the force option when any of
the disk group files are open. It is possible to have disks fail in excess of
the Oracle ASM redundancy setting. If this happens, then the disk group is
forcibly dismounted. If the disk group is forcibly dismounted, a database
cannot access files in the disk group.
About
Adding and Dropping Disks
You can add a disk to an existing disk group to add space and to
improve throughput. The specified discovery string identifies the disk or disks
that you could add. The disks that you add must be discovered by every Oracle
ASM instance using its
ASM_DISKSTRING
initialization parameter. After you add a disk, Oracle ASM rebalancing
operations move data onto the new disk. To minimize the rebalancing I/O, it is
more efficient to add multiple disks at the same time.
You can drop a disk from a disk group if it fails or to re-purpose
capacity. Use the Oracle ASM disk name to drop a disk, not the discovery string
device name. If an error occurs while writing to a disk, then Oracle ASM drops
the disk automatically.
About Online Storage Reconfigurations and Dynamic Rebalancing
Rebalancing a
disk group moves data between disks to ensure that every file is evenly spread
across all of the disks in a disk group. When all of the files are evenly
dispersed, all of the disks are evenly filled to the same percentage; this
ensures load balancing. Rebalancing does not relocate data based on I/O
statistics nor is rebalancing started based on I/O statistics. Oracle ASM
rebalancing operations are controlled by the size of the disks in a disk group.
Oracle ASM automatically initiates a rebalance after storage
configuration changes, such as when you add, drop, or resize disks. The power
setting parameter determines the speed with which rebalancing operations occur.
You can manually start a rebalance to change the power setting of
a running rebalance. A rebalance is automatically restarted if the instance on
which the rebalancing is running stops. Databases can remain operational during
rebalancing operations.
You can minimize the impact on database performance with the
setting of the
POWER_LIMIT
initialization parameter. For more information about the power
limit setting, see "ASM_POWER_LIMIT". For more
information about disk rebalancing,
No comments:
Post a Comment