Arquivo

Posts Tagged ‘REPARANDO HEADER’

Verificando e reparando discos do Oracle ASM corrompidos

outubro 27, 2013 Deixe um comentário

Galera, espero que este post  ajude você quando o ASM apresentar problemas.

No caso do sistema Operacional ser IBM AIX , vamos validar o VGDA dos discos.

Ex: lspv| awk {‘print$1’} | xargs -n1 readvgda -h

No meu caso os discos  estavam apresentados para o ASM porém com o status de candidato a ser adicionado e montado no DG.

Porém o disco continha dados e não poderia ser adicionado novamente como um disco novo, os dados ali seriam destruidos após o balance dos dados.

Segui os seguintes passos:

Pela instância ASM:

1) Checando o ASM disk header metadata ( Allocation unit # 0 , block # 0)

SQL> select DISK_NUMBER,HEADER_STATUS,substr(PATH,1,20),label from v$asm_disk;

DISK_NUMBER HEADER_STATUS PATH LABEL
———– ————————————————————————–
0 CANDIDATE ORCL:VOL1 VOL1    <—————————- Disco com problemas no meu caso.
1 MEMBER ORCL:VOL2 VOL2
0 MEMBER ORCL:VOL3 VOL3

Via linha de comando:

$ asmcmd lsdsk –p

Group_Num Disk_Num Incarn Mount_Stat Header_Stat Mode_Stat State Path
1 0 3607145378 CACHED CANDIDATE ONLINE NORMAL ORCL:VOL1   <———————- Disco com problemas.
1 1 3607145378 CACHED MEMBER ONLINE NORMAL ORCL:VOL2
2 0 3607145378 CACHED MEMBER ONLINE NORMAL ORCL:VOL3

$ kfed read /dev/oracleasm/disks/VOL1 aun=0 blkn=0

kfbh.endian: 0 ; 0x000: 0x00
kfbh.hard: 0 ; 0x001: 0x00
kfbh.type: 0 ; 0x002: KFBTYP_INVALID
kfbh.datfmt: 0 ; 0x003: 0x00
kfbh.block.blk: 0 ; 0x004: T=0 NUMB=0x0
kfbh.block.obj: 0 ; 0x008: TYPE=0x0 NUMB=0x0
kfbh.check: 0 ; 0x00c: 0x00000000
kfbh.fcn.base: 0 ; 0x010: 0x00000000
kfbh.fcn.wrap: 0 ; 0x014: 0x00000000
kfbh.spare1: 0 ; 0x018: 0x00000000
kfbh.spare2: 0 ; 0x01c: 0x00000000
2B6BCD150400 00000000 00000000 00000000 00000000 […………….]
Repeat 255 times
KFED-00322: Invalid content encountered during block traversal: [kfbtTraverseBlock][Invalid OSM block type][][0]

Nota:  Se você ver aqui a seguinte mensagem : kfbh.type=KFBTYP_INVALID , isso indica que o ASM disk header está corrompido,

Este é o status típico kfbh.type=KFBTYP_DISKHEAD (ASM disk header).

Verificando se existe uma cópia ASM DISK HEADER no disco.

Isso indica que o  ASM tem  uma copia alocada em cada 1 dos seus discos  em (Allocation unit# 1, Block# 254) k

$ kfed read /dev/oracleasm/disks/VOL1 aun=1 blkn=254 |grep KFBTYP
kfbh.type: 1 ; 0x002: KFBTYP_DISKHEAD

Nota: Neste caso o VOL1 apresenta uma cópia do ASM disk header.

Reparando o  ASM Disk Header

$ kfed repair /dev/oracleasm/disks/VOL1

Verificando o  ASM Disk Header Metadata

$ kfed read /dev/oracleasm/disks/VOL1 aun=0 blkn=0 | grep KFBTYP
kfbh.type: 1 ; 0x002: KFBTYP_DISKHEAD

Pela instância ASM:

SQL> select DISK_NUMBER,HEADER_STATUS,substr(PATH,1,20),label from v$asm_disk;

DISK_NUMBER HEADER_STATUS PATH LABEL
———– —————————————————————————-
0 MEMBER ORCL:VOL1 VOL1
1 MEMBER ORCL:VOL2 VOL2
0 MEMBER ORCL:VOL3 VOL3

Via linha de comando

$ asmcmd lsdsk -p
Group_Num Disk_Num Incarn Mount_Stat Header_Stat Mode_Stat State Path
1 0 3607143578 CACHED MEMBER ONLINE NORMAL ORCL:VOL1   <————————————–
1 1 3607145378 CACHED MEMBER ONLINE NORMAL ORCL:VOL2
2 0 3607145378 CACHED MEMBER ONLINE NORMAL ORCL:VOL3

Anúncios