Oracle ASM (Automatic Storage Management ) Introduction and How it works

Last updated on May 15th, 2019 at 05:24 pm

Oracle ASM Introduction

ASM (Automatic Storage Manager) is a new feature which was released with 10g . ASM provides filesystem and volume manager capabilities built into the Oracle database kernel. With this capability, ASM simplifies storage management tasks, such as creating/laying out databases and disk space management
Key benefits
1)  I/O is spread evenly across all available disk drives to prevent hot spots and maximize performance.
2)ASM eliminates the need for over provisioning and maximizes storage resource utilization
facilitating database consolidation.
3)Inherent large file support.
4) Performs automatic online redistribution after the incremental addition or removal of storage
5) Maintains redundant copies of data to provide high availability, or leverage 3rd party RAID functionality.
6) Supports Oracle Database 10g as well as Oracle Real Application Clusters (RAC).
7)  Capable of leveraging 3rd party multipathing technologies.
8) Backup with RMAN

ASM Instance
1)In Oracle Database 10g there are two types of instances: database and ASM instances. The ASM instance,which is generally named +ASM1, is started with the INSTANCE_TYPE=ASM init.ora parameter
2) Do not mount the database but manage metadata required to make ASM files available for DB instances
3) DB Instance access ASM files directly and contact ASM instance only for the layout of ASM files
4) Requires only the init.ora file for startup
5)Instance Name is +ASM or +ASM1 for  Oracle RAC
6) ASM instance can be started in same database home or separate home also

Some of the background Process in ASM instance
RBAL – Oracle background process. In an ASM instance coordinated rebalancing operations. In a DB instance, opens and mount diskgroups from the local ASM instance.
ARBx – Oracle background processes. In an ASM instance, a slave for rebalancing operations
PSPx – Oracle background processes. In an ASM instance, Process Spawners
GMON – Oracle background processes. In an ASM instance, diskgroup monitor.
ASMB – Oracle background process. In an DB instance, keeps a (bequeath) persistent DB connection to the local ASM instance. Provides heart beat and ASM statistics. During a diskgroup rebalancing operation ASM communicates to the DB AU changes via this connection.
O00x – Oracle background processes. Slaves used to connected from the DB to the ASM instance for ‘short operations’.


How ASM Instance works

The ASM instance manages and communicates the map as to where each file extent resides.  It also controls the process of rebalancing the placement of the extents when the storage allocation is changed ie, when the disk is added or removed from ASM.  As an ASM instance uses only about 64-MB for its system global area, it requires a relatively small amount of system resource.  In a RAC configuration, an ASM instance on each node in the cluster manages all disk groups for that node, in coordination with the other nodes in the cluster.

The ASM instance creates an extent map which has a pointer to each 1 MB extent of the data file is located.  When a database instance creates or opens a database file that is managed by ASM, the database instance messages the ASM instance and ASM returns an extent map for that file.  From that point the database instance performs all I/O directly to the disks unless the location of that file is being changed. Three things might cause the extent map for a database instance to be updated:

1) Rebalancing the disk layout following an storage configuration change (adding or dropping a disk from a disk group),

2) Opening of a new database file

3) extending an existing database file when a oracle tablespace is enlarged.

An ASM instance cannot mount a database; it mounts disk groups and the database instance mounts the database. An ASM instance must be started before a database instance can access files in disk groups.  Multiple and separate database instances can share disk groups for their files. On a single node, a single ASM instance typically manages all disk groups. In a Real Application Cluster environment, each node typically has one ASM instance that manages all disk groups for its node in a coordinated manner with the rest of the cluster.With Flex ASM feature in 12c, we even don’t need ASM instance on each RAC node. We  can have ASM on few nodes only of desire

All ASM management commands, such as creating disk groups or adding or dropping disks, must be directed to the ASM instance, and not to the database instance using the ASM Files.  The status of disk groups and ASM attributes can be viewed through Enterprise Manager or through V$views in the ASM instance.

Related Links

Oracle ASM Diskgroups : Create and Alter diskgroup

How to prepare the Oracle ASM disks

How Oracle ASM Rebalance works

How ASM Failure Groups and CSS provides high availability

Leave a Reply