About Oracle Automatic Storage Management (Oracle ASM)

Oracle Automatic Storage Management (ASM) is an integrated file system and volume manager built specifically for Oracle database files. It simplifies database administration by eliminating the need to directly manage thousands of Oracle database files. This is done by enabling the division of all available storage into units called disk groups. You need to manage only a small set of disk groups. ASM automates the placement of the database files within these disk groups and helps DBAs manage a dynamic database environment by allowing the adjustment of storage allocation without having to shutdown the database.

ASM facilitates non-intrusive storage configuration changes using automatic rebalancing. It spreads database files across all available storage to optimize performance and resource utilization. Rebalancing of the database storage occurs automatically whenever the storage configuration changes.

Automatic Storage Management allows the administrator to define a pool of storage called a disk group. The Oracle kernel manages the file naming and placement of the database files on that pool of storage. The administrator can change the storage allocation (adding or removing disks) with new SQL commands (create diskgroup, alter diskgroup, and drop diskgroup).

Components of Oracle Automatic Storage Management

The components of Automatic Storage Management (ASM) comprise of the following: NOTE TO WRITER: The links were lost in conversion for the following list items.

  • ASM Files

  • ASM Disks

  • ASM Disk Groups

  • ASM Templates

  • Failure Groups

ASM Files

Automatic Storage Management automates and simplifies the layout of datafiles, control files, and log files. Database files are automatically distributed across all available disks, and database storage is rebalanced whenever the storage configuration changes. It provides redundancy through the mirroring of database files, and it improves performance by automatically distributing database files across all available disks.

ASM Disks

The disks belonging to a disk group are referred to as ASM disks. On Windows operating systems, an ASM disk is always a partition. On all other platforms, an ASM disk can be:

  • A partition of a logical unit number (LUN)

  • A network-attached file

ASM Disk Groups

A disk group consists of a collection of disks that are managed together as a unit. It is a primary component of ASM. You can configure ASM by creating disk groups which in turn stores database files. Oracle provides SQL statements to create and manage disk groups, their contents, and metadata. ASM feature provides a virtualization layer between the database and storage so that multiple disks can be treated as a single disk group. Disks can be dynamically added or removed while keeping databases online. Existing data is automatically spread across available disks for increasing performance and optimizing utilization.

ASM Templates

Templates are collections of file attribute values, used to set mirroring and striping attributes of each type of database file (datafile, control file, redo log file, and so on) created in ASM disk groups. Each disk group has a default template associated with each file type. You can also create your own templates to meet unique requirements. You can then include a template name when creating a file, thereby assigning desired attributes on an individual file basis rather than on the basis of file type.

Failure Groups

Failure groups are ASM disks that share a common potential failure mechanism. Failure groups are used to determine which ASM disks to use for storing redundant copies of data. For example, if two-way mirroring is specified for a file, ASM automatically stores redundant copies of file extents in separate failure groups. Failure groups apply only to normal and high redundancy disk groups. You define the failure groups in a disk group when you create or alter the disk group.

What is an ASM Instance?

ASM is implemented as a special kind of Oracle instance, with its own System Global Area and background processes, called the ASM instance. The ASM instance is tightly integrated with the database instance. Every server running one or more database instances that use ASM for storage has an ASM instance. In a Real Application Clusters environment, there is one ASM instance for each node, and the ASM instances communicate with each other on a peer-to-peer basis. Only one ASM instance is required for each node regardless of the number of database instances on the node.

Concepts of Striping, Mirroring, and Rebalancing

ASM provides the following features:

Striping

ASM spreads data evenly across all disks in a disk group to optimize performance and utilization. This even distribution of database files eliminates the need for regular monitoring and I/O performance tuning. For example, if there are six disks in a disk group, pieces of each ASM file are written to all six disks. These pieces come in 1 MB chunks known as extents. When a database file is created, it is striped (i.e. divided into extents and distributed) across the six disks, and the allocated disk space on all six disks grows evenly. While reading the file, file extents are read from all the six disks in parallel, thus greatly improving the performance.

Mirroring

Mirroring means keeping redundant copies, or mirrored copies, of each extent of the file, to help avoid data loss caused by disk failures. The mirrored copy of each file extent is always kept on a different disk from the original copy. If a disk fails, ASM can continue to access affected files by accessing mirrored copies on the surviving disks in the disk group. ASM can increase availability by optionally mirroring any file. ASM mirrors at the file level, unlike operating system mirroring, which mirrors at the disk level. ASM supports 2-way mirroring, where each file extent gets one mirrored copy, and 3-way mirroring, where each file extent gets two mirrored copies.

Rebalancing

ASM permits you to add or remove disks from your disk storage system while the database is operating. When you add a disk, ASM automatically redistributes the data so that it is evenly spread across all disks in the disk group, including the new disk. This redistribution is known as rebalancing. It is done in the background and with minimal impact to database performance. When you request to remove a disk, ASM first rebalances by evenly relocating all file extents from the disk being removed to the other disks in the disk group. Whether you remove disks or add disks to your disk group, all your database files will be redistributed across the disks automatically, while the database is running.

Related Links

ASM Disks

ASM Disk Groups