Step 1: To list ASM disks:
# /usr/sbin/oracleasm listdisks
Step 2: To check the major and minor value of a given ASM disk:
# /usr/sbin/oracleasm querydisk -d <ASM DISK>
Step 3: ASM disk mapped to physical disk
# ls -l /dev/* | grep “<Major No>, *<Minor No>” | awk ‘{print $10}’
Example
————-
[root@testbox ~]# /usr/sbin/oracleasm listdisks
ASM1
ASM2
ASM3
ASM4
ASM5
ASM6
ASM7
[root@testbox ~]#
[root@testbox ~]# /usr/sbin/oracleasm querydisk -d ASM1
Disk “ASM1” is a valid ASM disk on device [8,33]
[root@testbox ~]#
[root@testbox ~]# ls -l /dev/* | grep “8, *33” | awk ‘{print $10}’
/dev/sdc1
[root@testbox ~]#
Script Name: asm_mapped_phy_disks.sh
for ASM_disk in `/usr/sbin/oracleasm listdisks` do major="$(/usr/sbin/oracleasm querydisk -d $ASM_disk |awk -F[ '{ print $2 }'|awk -F] '{ print $1 }' |awk -F, '{ print $1 }')" minor="$(/usr/sbin/oracleasm querydisk -d $ASM_disk |awk -F[ '{ print $2 }'|awk -F] '{ print $1 }' |awk -F, '{ print $2 }')" disk_name=$(ls -l /dev/* |grep ^b |grep "$major, *$minor" |awk 'NR==1' |awk '{ print $10 }') echo "The ASM disk: '$ASM_disk' mapped to '$disk_name' " done
Script Output:
[root@testbox ~]# sh asm_mapped_phy_disks.sh
The ASM disk: ‘ASM1’ mapped to ‘/dev/sdc1’
The ASM disk: ‘ASM2’ mapped to ‘/dev/sdi1’
The ASM disk: ‘ASM3’ mapped to ‘/dev/sdf1’
The ASM disk: ‘ASM4’ mapped to ‘/dev/sdg1’
The ASM disk: ‘ASM5’ mapped to ‘/dev/sdh1’
The ASM disk: ‘ASM6’ mapped to ‘/dev/sdj1’
The ASM disk: ‘ASM7’ mapped to ‘/dev/sdd1’
[root@testbox ~]#