Leer las cabeceras de los discos en asm kfed read




Muchas veces resulta útil leer las cabeceras de los discos en asm debido a que cuando no están montados, por ejemplo, no podemos saber a qué diskgroup corresponde el disco mediante la vista v$asm_disk. O bien monitorizar los discos cuando no está arrancado el +ASM.
El primer punto es saber dónde estan montadas las unidades de disco en unix, para ello podríamos haber consultado la instancia asm con un show parameter asm_diskstring, pero si está parada podemos irnos a /dev y hacer un ls -ltr para mirar cuales son los discos...
Si hacemos un
kfed read /dev/disk_ASM 
se nos muestra lo siguinte:

$> kfed read /dev/disk_ASM 

kfbh.endian:                          0 ; 0x000: 0x00
kfbh.hard:                          130 ; 0x001: 0x82
kfbh.type:                            1 ; 0x002: KFBTYP_DISKHEAD
kfbh.datfmt:                          1 ; 0x003: 0x01
kfbh.block.blk:                       0 ; 0x004: T=0 NUMB=0x0
kfbh.block.obj:              2147483662 ; 0x008: TYPE=0x8 NUMB=0xe
kfbh.check:                  1950624216 ; 0x00c: 0x744429d8
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:         ORCLDISK ; 0x000: length=8
kfdhdb.driver.reserved[0]:            0 ; 0x008: 0x00000000
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:                186647040 ; 0x020: 0x0b200200
kfdhdb.dsknum:                       14 ; 0x024: 0x000e
kfdhdb.grptyp:                        2 ; 0x026: KFDGTP_NORMAL
kfdhdb.hdrsts:                        3 ; 0x027: KFDHDR_MEMBER
kfdhdb.dskname:     DISK_DG_RECO_0014 ; 0x028: length=19
kfdhdb.grpname:          DISK_DG_RECO ; 0x048: length=14
kfdhdb.fgname:       DISK_DG_RECO_FG2 ; 0x068: length=18
kfdhdb.capname:                         ; 0x088: length=0
kfdhdb.crestmp.hi:             32967980 ; 0x0a8: HOUR=0xc DAYS=0x9 MNTH=0x3 YEAR=0x7dc
kfdhdb.crestmp.lo:           2369987584 ; 0x0ac: USEC=0x0 MSEC=0xc9 SECS=0x14 MINS=0x23
kfdhdb.mntstmp.hi:             32992876 ; 0x0b0: HOUR=0xc DAYS=0x13 MNTH=0xb YEAR=0x7dd
kfdhdb.mntstmp.lo:           2436241408 ; 0x0b4: USEC=0x0 MSEC=0x186 SECS=0x13 MINS=0x24
kfdhdb.secsize:                     512 ; 0x0b8: 0x0200
kfdhdb.blksize:                    4096 ; 0x0ba: 0x1000
kfdhdb.ausize:                  4194304 ; 0x0bc: 0x00400000
kfdhdb.mfact:                    454272 ; 0x0c0: 0x0006ee80
kfdhdb.dsksize:                   25600 ; 0x0c4: 0x00006400
kfdhdb.pmcnt:                         2 ; 0x0c8: 0x00000002
kfdhdb.fstlocn:                       1 ; 0x0cc: 0x00000001
kfdhdb.altlocn:                       2 ; 0x0d0: 0x00000002
kfdhdb.f1b1locn:                      0 ; 0x0d4: 0x00000000
kfdhdb.redomirrors[0]:                0 ; 0x0d8: 0x0000
kfdhdb.redomirrors[1]:                0 ; 0x0da: 0x0000
kfdhdb.redomirrors[2]:                0 ; 0x0dc: 0x0000
kfdhdb.redomirrors[3]:                0 ; 0x0de: 0x0000
kfdhdb.dbcompat:              186647040 ; 0x0e0: 0x0b200200
kfdhdb.grpstmp.hi:             32967980 ; 0x0e4: HOUR=0xc DAYS=0x9 MNTH=0x3 YEAR=0x7dc
kfdhdb.grpstmp.lo:           2306574336 ; 0x0e8: USEC=0x0 MSEC=0x2e2 SECS=0x17 MINS=0x22

donde los campos mas destacados son:
dskname ---Nombre del disco
grpname | Diskgroup en el que está el disco
fgname ---Grupo de fallos
dsknum ---Numero de disco de ASM
dsksize ---Tamaño disco
hdrsts ---Header status ver la vista V$ASM_DISK.HEADER_STATUS para posibles valores
mntstmp --Ultima vez que el disco fué montado
Por ejemplo, para ver el nomnre del disco hacemos
kfed read /dev/disk_ASM  | grep dskname

Comentarios

Entradas populares de este blog

Ampliar tablespace Oracle

Oracle máximo de sesiones

Bloqueos en Oracle