ASM (Oracle - Automatic Storage Management)

Oracle ASM started with Oracle 10g provides volume and filesystem management

where the I/O subsystem is directly handled by the Oracle Kernel. It provides highly

scalable and high availability storage instrastructure.

Each LUN is mapped as a disk. Disk are grouped together into disk group. ASM takes

care of writing / striping onto disk in the diskgroup. i.e Database files are automatically

spread over the available disks in the diskgroup it is done in extent level.

Each ASM file is contained in only one disk group.

A disk group can contain files belonging files to other db

Each database can use storage from multiple disk groups

ASM files are evenly spread across all ASM disks in disk group.

ASM Disk are partitioned into Allocation Units of 1 MB each.

ASM prohibits splitting of blocks across AU.

ASM instance manage the metadata required to make the ASM files

available to ordinary db instances

Database Instance communicate with ASM instance only

to obtain information about the layout of ASM files, database

instance access the contents of ASM files directly.


RBAL : Re balance co-ordinate activitiy of disk groups

ARBn : Performs actual rebalance and data extents movement

ASMB bridge between asm ins and db ins


When ASM instance mounts disk group it registers disk group and connect string

Through name of disk group the db instance connect to ASM instance

ASMCMD ASM Command line Utility.

Its an Explorer to the ASM disk system.

1) When you execute asmcmd we get to the root of the ASM system i.e '+'

2) On executing the ls -l, you get details of the diskgroup presents.

3) With normal commands like cd,ls,du,mkdir,rm you could manipulate the ASM filesystem

Helpful Commands

du (disk usage) : Shows us the total disk space occupied by ASM files in that directory (and its subdirectory)

lsct : Information about the current ASM clients

lsdg : Information about the diskgroup and their attributes

State : Current State of Diskgroup whether Mounted/Connected

Type : Diskgroup Redundancy (NORMAL,HIGH,EXTERNAL)

REBAL : Y if rebalance operation in progress

Unbal : Y is rebalancing is required by diskgroup

Sector : Sector size in bytes

Block : Block size in bytes

AU : Allocation Unit

Total_MB : Size of diskgroup in MB

Free_MB : Free Space in Diskgroup

Req_mir_free_MB : Space that is required in the diskgroup to restore full redundancy after worst failure that can be tolerated by diskgroup.


Offline_disks : Number of offline disks in the disk group.

Name : Disk group name.

rm : Removes files/directory which is equivalent to "ALTER DISKGROUP ..DROP FILE/DIRECTORY"