Mir Sayeed Hassan – Oracle Blog

Oracle DBA – Tips & Techniques | Learn with real-time examples

Configuring Disks for Oracle ASM Storage Setup in Oracle database 19C

Posted by Mir Sayeed Hassan on March 25th, 2026

Configuring Disks for Oracle ASM Storage Setup in Oracle database 19C

Overview: 

The disk configuration is a major step when setting up Oracle ASM (Automatic Storage Management) in Oracle Database 19c. ASM provides an efficient way to manage database storage by organizing disks into disk groups, improving performance, and ensuring data redundancy.

Before configuring ASM, disks must be prepared, labeled, and assigned the correct permissions so they can be accessed by Oracle Grid Infrastructure. Using tools like ASMLib or udev.

Note: By setting up an ASM instance and creating disk groups, ensure that the required raw disks or disk partitions are properly prepared. These disks should be recognized by the operating system, but they must not be mounted or formatted, as ASM will handle their management.

Step 1: How to identify the Disks by using the tools and provide the appropriate the permission.

List the available disks by fdisk lsblk or blkid, fdisk -l 

To list the Partition disks: Use the fdisk or the parted method to create a partitions by fdisk /dev/sdX

To replace /dev/sdX with your disk identifier.

Note: Ensure proper disk permissions by assigning ownership to the Oracle user using chown and setting appropriate access levels with chmod to enable secure and reliable disk access.

Change the ownership by using this command.

$chown oracle:install /dev/sdX 

Change the permission by using this command.

$chmod 660 /dev/sdX

Step 2: Install Oracle Grid Infrastructure.

In-case if its not already installed download the Grid Infrastructure software from Oracle official website and Install it.

To install the Grid Infrastructure, Execute the Oracle Universal Installer (OUI), then select the option to install the Oracle Grid Infrastructure for the standalone server or if you are installing the RAC Database then choose the Oracle Real Application Clusters. (RAC).

Step 3: Create ASM Instance.

For Grid infrastructure ASM is mandatory a dedicated Oracle Instance for managing the disk groups in Oracle database.

Setting up the environment variables by using the below command.

$export ORACLE_HOME=/u01/app/grid

$export PATH=$ORACLE_HOME/bin:$PATH

$export ORACLE_SID=+ASM

Fallowed by run the ASMCA Utility (Automatic storage management configuration assistant).

Note: 

ASMCA is a graphical utility used for configuring Automatic Storage Management (ASM). If operating in a GUI environment, you can launch ASMCA to initiate and manage ASM configurations.

$asmca fallow the wizard to start creating the ASM instance.

In-case : If you prefer a command-line approach, you can use SQL*Plus to create and manage the instance.

$. oraenv

+ASM

$sqlplus / as sysasm

Start the database in nomount mode.

SQL> startup nomount;

Create a spfile from file

SQL> create spfile from pfile=‘$ORACLE_HOME/dbs/init+ASM.ora’;

Note: You should specify your current pfile location.

Set the ASM Disk & ASM Disk groups.

SQL> alter system set asm_diskstring=‘/dev/sdX’ scope=both;

SQL> alter system set asm_diskgroups=‘DATA’,’FRA’ scope=spfile;

Note: You have to replace this by using ‘/dev/sdX’ with you current disk identifier and mention your disk groups.

Step 4:  Configure the ASM initialization parameters to define and manage the instance settings effectively.

Below is an example of configuring these parameters in the init+ASM.ora file or by using the ALTER SYSTEM command.

asm_diskstring: Specifies the location of ASM disks, typically defined using a path pattern such as ‘/dev/sd*’ to identify available disk devices.

asm_diskgroups: Specifies the names of the disk groups managed by the ASM instance.

Step 5: Create an ASM disk group to organize and manage storage within the ASM environment.

Once the ASM instance is up and running, proceed to create the required disk groups by using the ASMCA.

Open ASMCA -> Disk Group tab -> Create -> Specify a disk group name as (ORADATA) -> select redundancy (e.g. External, Normal, High)

Note: 

EXTERNAL Redundancy: No mirroring by ASM. Relies on external storage (like RAID) for data protection. Requires the least disk space.

NORMAL Redundancy: Two-way mirroring. ASM stores two copies of data on different disks for fault tolerance. Requires ~2x disk space.

HIGH Redundancy: Three-way mirroring. ASM stores three copies of data for maximum protection. Requires ~3x disk space.

Connect to the asm instance 

$sqlplus / as systems

SQL> create diskgroup data external redundancy disk ‘/dev/sdX1’,’/dev/sdX2’;

Note: You have to replace the ‘/dev/sdX1’,’/dev/sdX2’ with your actual disk identifiers 

Step 6: Verify the creation of the ASM disk group to ensure it has been successfully configured.

SQL> select name, state, type, total_mb, free_mb from v$asm_diskgroup;

Step 7: Use the ASM disk group for database storage once it has been successfully created. During database creation, specify the disk group name in the CREATE DATABASE statement or configure it through the Oracle Database Configuration Assistant (DBCA).

Step 8: Monitoring and Managing ASM Disk Groups

Use the ASMCMD command-line utility to manage ASM disk groups or use the below query.

SQL> select group_name, name, state, type, total_mb, free_mb from v$asm_diskgroup;

=====Hence tested and verified in our test env=====