oracle 报错972,【案例】Oracle RAC ASM故障 pvid=yes导致asm无法mount

天萃荷净

pvid=yes导致asm无法mount,恢复请求,对于aix rac,两个ibm存储做mirror的环境中,客户做存储容灾演练,发现磁盘的名称发生改变,然后对其中一个磁盘设置pvid,结果悲剧了导致asm一个磁盘组无法正常起来。然后又aix端删除这些设备,然后重新扫描设备。结果不是一个磁盘组不能mount,而是整个gi就无法正常启动。

1.查看asm 日志,确定asm disk信息

399262e37db50eb7371a9dbf026395cc.png

1eec9a300e358e175140ee4c55c6ec5b.png

从这里可以确定,一共有两个asm diskgroup,每个group有两个磁盘,hdisk2和hdisk3 为hisdata,hdisk4,和hdisk5为emrdata.

2.使用kfed分析磁盘头

dd if=/dev/rhdisk2 of=/tmp/xifenfei/rhdisk2.dd bs=1024k count=10

dd if=/dev/rhdisk3 of=/tmp/xifenfei/rhdisk3.dd bs=1024k count=10

dd if=/dev/rhdisk4 of=/tmp/xifenfei/rhdisk4.dd bs=1024k count=10

dd if=/dev/rhdisk5 of=/tmp/xifenfei/rhdisk5.dd bs=1024k count=10

--传输到我电脑上分析

C:\Users\FAL>kfed read H:\temp\xifenfei\tmp\xifenfei\rhdisk2.dd|grep name

kfdhdb.dskname: HISDATA_0000 ; 0x028: length=12

kfdhdb.grpname: HISDATA ; 0x048: length=7

kfdhdb.fgname: HISDATA_0000 ; 0x068: length=12

kfdhdb.capname: ; 0x088: length=0

C:\Users\FAL>kfed read H:\temp\xifenfei\tmp\xifenfei\rhdisk3.dd|grep name

kfdhdb.dskname: HISDATA_0001 ; 0x028: length=12

kfdhdb.grpname: HISDATA ; 0x048: length=7

kfdhdb.fgname: HISDATA_0001 ; 0x068: length=12

kfdhdb.capname: ; 0x088: length=0

C:\Users\FAL>kfed read H:\temp\xifenfei\tmp\xifenfei\rhdisk4.dd|grep name

kfdhdb.dskname: EMRDATA_0000 ; 0x028: length=12

kfdhdb.grpname: EMRDATA ; 0x048: length=7

kfdhdb.fgname: EMRDATA_0000 ; 0x068: length=12

kfdhdb.capname: ; 0x088: length=0

C:\Users\FAL>kfed read H:\temp\xifenfei\tmp\xifenfei\rhdisk5.dd|grep name

C:\Users\FAL>kfed read H:\temp\xifenfei\tmp\xifenfei\rhdisk5.dd

kfbh.endian: 201 ; 0x000: 0xc9

kfbh.hard: 194 ; 0x001: 0xc2

kfbh.type: 212 ; 0x002: *** Unknown Enum ***

kfbh.datfmt: 193 ; 0x003: 0xc1

kfbh.block.blk: 0 ; 0x004: blk=0

kfbh.block.obj: 0 ; 0x008: file=0

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

000000000 C1D4C2C9 00000000 00000000 00000000 [................]

000000010 00000000 00000000 00000000 00000000 [................]

Repeat 254 times

KFED-00322: Invalid content encountered during block traversal: [kfbtTraverseBlock][Invalid OSM block type][][212]

C:\Users\FAL>kfed read H:\temp\xifenfei\tmp\xifenfei\rhdisk5.dd blkn=2|grep kfbh

kfbh.endian: 0 ; 0x000: 0x00

kfbh.hard: 130 ; 0x001: 0x82

kfbh.type: 3 ; 0x002: KFBTYP_ALLOCTBL

kfbh.datfmt: 2 ; 0x003: 0x02

kfbh.block.blk: 33554432 ; 0x004: blk=33554432

kfbh.block.obj: 16777344 ; 0x008: file=128

kfbh.check: 2654889601 ; 0x00c: 0x9e3e6681

kfbh.fcn.base: 1696071680 ; 0x010: 0x65180000

kfbh.fcn.wrap: 0 ; 0x014: 0x00000000

kfbh.spare1: 0 ; 0x018: 0x00000000

kfbh.spare2: 0 ; 0x01c: 0x00000000

C:\Users\FAL>kfed read H:\temp\xifenfei\tmp\xifenfei\rhdisk5.dd blkn=510|grep name

kfdhdb.dskname: EMRDATA_0001 ; 0x028: length=12

kfdhdb.grpname: EMRDATA ; 0x048: length=7

kfdhdb.fgname: EMRDATA_0001 ; 0x068: length=12

kfdhdb.capname: ; 0x088: length=0

通过上述分析,基本上确定由于对hdisk5设置了pvid导致该asm disk的磁盘头损坏.这个可以直接使用asm repair功能修复(注意要clear pvid)

C:\Users\FAL>kfed read H:\temp\xifenfei\tmp\xifenfei\rhdisk5.dd |grep name

kfdhdb.dskname: EMRDATA_0001 ; 0x028: length=12

kfdhdb.grpname: EMRDATA ; 0x048: length=7

kfdhdb.fgname: EMRDATA_0001 ; 0x068: length=12

kfdhdb.capname: ; 0x088: length=0

3.启动crs到cssd进程报错分析

1. 由于删除磁盘,扫描设备导致hdisk[2-5] 权限和用户组不对

2. 由于删除,扫描磁盘导致磁盘共享模式不对

修复磁盘头和解决这两个问题之后,gi启动正常,磁盘组也正常mount,数据库也正常启动,数据0丢失,至此完美恢复

c81dcbc46647b124623c507e2e7cf5d5.png

联系:手机(+86 13429648788) QQ(107644445)QQ咨询惜分飞

作者:惜分飞©版权所有[未经本人同意,不得以任何形式转载,否则有进一步追究法律责任的权利.]

--------------------------------------ORACLE-DBA----------------------------------------

最权威、专业的Oracle案例资源汇总之【案例】Oracle RAC ASM故障 pvid=yes导致asm无法mount

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值