ASM creates extents out of datafiles, log-files, system files, control files and other database structures. The system then spreads these extents across all disks in a "diskgroup". One can think of a diskgroup in ASM as a Logical Volume Managervolume group — with an ASM file corresponding to a logical volume. In addition to the existing Oracle background processes, ASM introduces two new ones - OSMB and RBAL. OSMB opens and creates disks in a diskgroup. RBAL provides the functionality of moving data between disks in a diskgroup.
Automatic Storage Management simplifies administration of Oracle-related files by allowing the administrator to reference disk groups which ASM manages. ASM extends the Oracle Managed Files functionality that also includes striping and mirroring to provide balanced and secure storage. DBAs can use the ASM functionality in combination with existing raw and cooked file-systems, along with OMF and manually managed files. An ASM instance controls the ASM functionality. It isn't a full database instance, it provides just the memory structures, and as such is very small and lightweight. The main components of ASM are disk groups, each of which comprise several physical disks controlled as a single unit. The physical disks are known as ASM disks, while the files that reside on the disks are known as ASM files. The locations and names for the files are controlled by ASM, but user-friendly aliases and directory structures can be defined by the DBA for ease of reference. The level of redundancy and the granularity of the striping can be controlled using templates. Oracle Corporation provides default templates for each file-type stored by ASM, but additional templates can be defined as needed. Failure groups are defined within a disk group to support the required level of redundancy. For two-way mirroring, a disk group might contain two failure groups, in which case individual files are written to two locations. Oracle ASM Dynamic Volume Manager provides the foundation for the ASM Cluster File System. In summary, ASM provides the following functionality:
manages groups of disks, called disk groups
manages disk redundancy within each disk group
provides near-optimal I/Obalancing without any manual tuning
enables management of database objects without specifying mount-points or filenames
supports large files
Redundancy
One can configure ASM diskgroups to have no redundancy, two-way mirroring, or three-way mirroring. In the case of normal and high mirrors, good practice suggests having fail groups that talk to different controllers for performance and fail-safe reasons.
In the case of external redundancy, ASM does not do any software mirroring, but only stripes its files across all the disks that belong to the disk group that does external redundancy.
In the case of normal redundancy, ASM does two-way mirroring, meaning that ASM maintains two copies of the data through software mirroring. When querying for mirror information, DBAs will see two mirrors in this case.
In the case of high redundancy, ASM does three-way mirroring, maintaining three copies of the data through software mirroring. When querying for mirror information, DBAs will see three mirrors in this case.