Oracle ASM: A Simple Solution or Another Complexity? (part 1)

Comments 0

Share to social media

For highly performant Oracle databases, the storage must be scalable, resilient, and easy to manage—especially as infrastructure complexity grows with Real Application Cluster (RAC), virtualized infrastructure, and multi-tenant database architectures.

Oracle Automatic Storage Management (ASM) is the vendor’s answer to these challenges by providing an integrated volume manager and file system that is purpose-built for Oracle databases.

What Is Oracle ASM?

Oracle ASM is a high-performance, cluster-aware storage management layer embedded within Oracle. It abstracts the complexity of traditional storage management by treating physical disks as logical units grouped into disk groups, which Oracle then manages on behalf of the database. It eliminates the need for third-party volume managers or file systems such as UDEV and LVM (Logical Volume Manager), allowing for direct, optimized I/O operations between the database and the storage infrastructure.

ASM is available with Oracle Grid Infrastructure and supports all major Oracle configurations—whether it’s a single-instance database, multi-tenant CDB/PDB setups, or high-availability Real Application Clusters (RAC). It’s a basic component of Oracle Exadata managing the complexity of storage for these engineered systems.

Starting an ASM Instance

ASM has its own Oracle instance, which can be a bit intimidating to the new DBA. The ASM instance must be running to access the storage layer, manage or monitor storage. In recent years, the ASMLIB driver for ASM has been updated to the ASM Filter driver. This has received some mixed reviews, even from my own perspective, but the ASMLIB driver is often still available for use if any bugs persist in the new filter driver.

There is an initialization parameter that signals Oracle this is an ASM instance, (INSTANCE_TYPE = ASM) and once the environment variables are set, the instance can be started:

Oracle will start the instance and due to the INSTANCE_TYPE parameter set to ASM, it will start the ASM cache and mount the ASM disk groups.

Key Features and Benefits of Oracle ASM

As part of Oracle’s continuous innovation, ASM has evolved to incorporate advanced features such as dynamic rebalancing, automated striping, and mirroring. These features not only enhance the reliability and performance of the database systems but also simplify the tasks of storage provisioning and maintenance. In this section I will give an overview of a few of these features and benefits that ASM will give you.

Simplified Storage Abstraction

Rather than managing individual datafiles or partitions, DBAs define disk groups. These are collections of disks managed as a single unit. ASM then handles allocation of files across those disks automatically, abstracting the underlying hardware from the database.

Automated Striping and Mirroring

ASM provides built-in support for:

  • Striping: Spreading data evenly across all disks in a group to balance I/O and improve throughput.
  • Mirroring: Creating redundant copies of data for fault tolerance, with support for normal (2-way) or high (3-way) redundancy based on configuration.

This built-in data protection removes the need to rely on external RAID configurations, though ASM can work alongside them if needed.

Dynamic Rebalancing and Elastic Storage

One of ASM’s most powerful features is its ability to automatically rebalance data across the storage pool when disks are added or removed. This ensures consistent performance and efficient storage usage without manual intervention. This is a simple command, which can also include performance settings to let ASM know how much IO pressure to generate while performing the rebalance action.

Values for POWER can be 0 (disabled) to 1024, but for most DBAs remember the 11g values of 0-11 and continue to use conservative values.

You can view the current value for ASM rebalance commands with the following command:

If you wish to change the from the default, it’s a simple addition to the rebalance command:

In the example above, I have issued a rebalance command on the DATA diskgroup at power 9.

Adding Storage

When new storage is added, ASM is able to gradually redistribute existing data to take advantage of the increased capacity, eliminating hot spots based off IO performance information collected as part of nightly space advisor jobs. To add a disk and a failgroup for

When disks are removed, it automatically migrates data to remaining disks before detaching, offering another level of data protection. This elasticity makes ASM particularly suited for environments that require scalability without downtime.

This drops ONLY the diska2 from the diskgroup DATA1 and the remaining disks aren’t touched. All data that was present on diska2 is moved to the remaining disks.

Optimized for Oracle Workloads

Because it is built into the Oracle Database ecosystem, ASM understands the internal storage requirements of Oracle workloads. It seamlessly integrates with RMAN, Data Guard, Oracle Zero Data Loss Appliance and RAC. It also offers native support for Oracle datafiles, control files, redo logs, tempfiles, and archive logs.

Use Cases and Deployment Scenarios

  • Single-Instance Database Storage: ASM simplifies local storage by eliminating file system management, especially useful in development or staging environments.
  • Oracle RAC: In high-availability clusters, ASM manages shared storage, ensures consistent access across nodes, and rebalances automatically during node failures or maintenance.
  • Multitenant Databases (CDB/PDB): ASM effectively handles the increased complexity of managing multiple pluggable databases sharing the same underlying storage.
  • Disaster Recovery and Data Guard: ASM’s redundancy and integration with Oracle tools like RMAN enhance resilience and recovery processes.

One of the greatest advantages of ASM is the reduced operational complexity:

  • No need to manually define or resize datafiles.
  • ASM disk groups scale automatically.
  • Storage changes require no downtime.
  • Simple command-line tools like asmcmdmake monitoring and management intuitive.

Conclusion

For someone new to Oracle, the concept that Oracle has its own storage management layer which possesses its own instance to manage it can be intimidating, but this foundational technology offers exceptional data protection, unified management and efficiency for Oracle database workloads.

ASM removes much of the manual work associated with traditional volume and file system management, rather than babysitting storage, which was a priority responsibility for DBAs, often resulting in night time wake up calls.

ASM plays a key role in modern Oracle infrastructure and in my experience, around 40% of Oracle databases have ASM managing the storage. Considering this percentage of usage, which rises to 80% for Oracle RAC workloads and 100% for Exadata, ASM should be an expected part of your Oracle education.

In part 2 of this series, I will outline the key areas to monitor in Oracle ASM, why they matter, and what SQL or tools to use for visibility and alerts.

Article tags

Load comments

About the author

Kellyn Pot'Vin-Gorman

DBAKevlar

See Profile

Kellyn Gorman is the multi-platform database and AI advocate at Redgate. She's been in the tech industry for a quarter of a century, specializing in Oracle, SQL Server, MySQL and PostgreSQL. Her focus on Azure and Google Cloud for high IO workloads on IaaS has been of exceptional interest for data-infra specialists in the tech world. Her content is highly respected under her handle DBAKevlar. She is co-leader of the Data Platform DEI group, an executive board core member for DZone, and mentors around half a dozen people at any given time in multiple communities.