3 Avril 2018
SQL> SQL> SQL> col name for a20 SQL> col path for a50 SQL> SQL> select name,path from v$asm_disk; NAME PATH -------------------- -------------------------------------------------- ACFS_01 ORCL:ACFS_01 VOL1 ORCL:VOL1 SQL>
[root@jumbo bin]#
[root@jumbo bin]# ls -lht /dev/oracleasm/disks/*
brw-rw---- 1 oracle dba 8, 37 Apr 3 09:50 /dev/oracleasm/disks/VOL1
brw-rw---- 1 oracle dba 8, 49 Apr 3 09:50 /dev/oracleasm/disks/ACFS_01
[root@jumbo bin]#
[root@jumbo bin]# [root@jumbo bin]# ls -lht /dev/sd* |grep 8, |grep 37 brw-rw---- 1 root disk 8, 37 Apr 3 11:38 /dev/sdc5
[root@jumbo bin]# [root@jumbo bin]# cd /u01/app/12.2.0.1/grid/bin/ [root@jumbo bin]# [root@jumbo bin]# [root@jumbo bin]# ./kfed read /dev/sdc5 kfbh.endian: 1 ; 0x000: 0x01 kfbh.hard: 130 ; 0x001: 0x82 kfbh.type: 1 ; 0x002: KFBTYP_DISKHEAD kfbh.datfmt: 1 ; 0x003: 0x01 kfbh.block.blk: 0 ; 0x004: blk=0 kfbh.block.obj: 2147483648 ; 0x008: disk=0 kfbh.check: 694995298 ; 0x00c: 0x296cc962 kfbh.fcn.base: 0 ; 0x010: 0x00000000 kfbh.fcn.wrap: 0 ; 0x014: 0x00000000 kfbh.spare1: 0 ; 0x018: 0x00000000 kfbh.spare2: 0 ; 0x01c: 0x00000000 kfdhdb.driver.provstr: ORCLDISKVOL1 ; 0x000: length=12 kfdhdb.driver.reserved[0]: 827084630 ; 0x008: 0x314c4f56 kfdhdb.driver.reserved[1]: 0 ; 0x00c: 0x00000000 kfdhdb.driver.reserved[2]: 0 ; 0x010: 0x00000000 kfdhdb.driver.reserved[3]: 0 ; 0x014: 0x00000000 kfdhdb.driver.reserved[4]: 0 ; 0x018: 0x00000000 kfdhdb.driver.reserved[5]: 0 ; 0x01c: 0x00000000 kfdhdb.compat: 203424000 ; 0x020: 0x0c200100 kfdhdb.dsknum: 0 ; 0x024: 0x0000 kfdhdb.grptyp: 1 ; 0x026: KFDGTP_EXTERNAL kfdhdb.hdrsts: 3 ; 0x027: KFDHDR_MEMBER kfdhdb.dskname: VOL1 ; 0x028: length=4 kfdhdb.grpname: DATA ; 0x048: length=4 kfdhdb.fgname: VOL1 ; 0x068: length=4 kfdhdb.siteguid[0]: 0 ; 0x088: 0x00 kfdhdb.sitegui
Beaucoup d'infos, mais j'ai mis en gras (bleu) celles qui m'interessent et qui me permettent de faire le lien entre mon disque physique ainsi que le disque ASM & le DISKGROUP associé.
Si à un instance t, vous avez besoin de faire le point sur vos disques, le script ci-dessous vous aidera peut être. Plus fainéant que moi, ca reste compliqué, donc ce script provient de https://www.thegeekdiary.com/oracle-asm-shell-script-to-map-physical-disk-devices-to-asmlib-disks/
#!/bin/bash ## ASMLIB_DISK -- disk name in ASMLIB ## ASM_DISK -- disk name in ASM ## DEVICE -- physical disk name GRID_HOME=`cat /etc/oratab | grep ^+ASM | awk -F":" '{print $2}'` for ASMLIB_DISK in `ls /dev/oracleasm/disks/*` do ASM_DISK=`$GRID_HOME/bin/kfed read $ASMLIB_DISK | grep dskname | tr -s ' '| cut -f2 -d' '` majorminor=`ls -l $ASMLIB_DISK | tr -s ' ' | cut -f5,6 -d' '` device=`ls -l /dev/ | tr -s ' ' | grep -w "$majorminor" | cut -f10 -d' '` echo "ASMLIB disk name : $ASMLIB_DISK" echo "ASM_DISK name : $ASM_DISK" echo "Physical disk device : /dev/$device" done
Et en sortie sur ma VM cela donne.
ASMLIB disk name : /dev/oracleasm/disks/ACFS_01 ASM_DISK name : ACFS_01 Physical disk device : /dev/sdd1 ASMLIB disk name : /dev/oracleasm/disks/VOL1 ASM_DISK name : VOL1 Physical disk device : /dev/sdc5