当前位置:网站首页>ORA-15063: ASM discovered an insufficient number of disks for diskgroup 恢複---惜分飛

ORA-15063: ASM discovered an insufficient number of disks for diskgroup 恢複---惜分飛

2022-06-22 04:39:00 惜分飛

標題:ORA-15063: ASM discovered an insufficient number of disks for diskgroup 恢複

客戶反饋三個磁盤組無法正常mount,報錯類似ORA-15032 ORA-15017 ORA-15063

SQL> ALTER DISKGROUP ASM_DATA MOUNT  /* asm agent *//* {0:0:2} */

NOTE: cache registered group ASM_DATA number=1 incarn=0xffa85ccd

NOTE: cache began mount(first) of group ASM_DATA number=1 incarn=0xffa85ccd

ERROR: no readquorum ingroup: required 2, found 0 disks

NOTE: cache dismounting (clean) group 1/0xFFA85CCD(ASM_DATA)

NOTE: messaging CKPT to quiesce pins Unix process pid: 5709, image: [email protected] (TNS V1-V3)

NOTE: dbwr not being msg'd to dismount

NOTE: lgwr not being msg'd to dismount

NOTE: cache dismounted group 1/0xFFA85CCD(ASM_DATA)

NOTE: cache ending mount(fail) of group ASM_DATA number=1 incarn=0xffa85ccd

NOTE: cache deleting context forgroup ASM_DATA 1/0xffa85ccd

Tue Jun 21 12:24:38 2022

NOTE: No asm libraries found inthe system

ASM Health Checker found 1 new failures

GMON dismounting group 1 at 16 forpid 19, osid 5709

ERROR: diskgroup ASM_DATA was not mounted

ORA-15032: not all alterations performed

ORA-15017: diskgroup "ASM_DATA"cannot be mounted

ORA-15063: ASM discovered an insufficient number of disks fordiskgroup "ASM_DATA"

ERROR: ALTER DISKGROUP ASM_DATA MOUNT  /* asm agent *//* {0:0:2} */

初步判斷是asm disk异常導致(比如asm disk不能被掃描到,或者丟失,或者磁盤頭損壞等),分析客戶的asm disk的udev文件配置

KERNEL=="sdd1", NAME="asm_grid", OWNER="grid", GROUP="asmadmin", MODE="0660"         

KERNEL=="sde1", NAME="asm_system", OWNER="grid", GROUP="asmadmin", MODE="0660"   

KERNEL=="sdf1", NAME="asm_data", OWNER="grid", GROUP="asmadmin", MODE="0660"    

從udev的配置中可以看出來,客戶以前是對3個磁盤進行分析,然後使用udev映射別名給asm使用的.通過對其中一個磁盤進行分析


通過上述winhex查看,可以確認該分區的磁盤頭信息异常[該信息屬於磁盤剛分區的時候信息,而不是asm disk的信息],和kfed看到的結果一致[磁盤頭比特置肯定損壞,其他比特置目前未知]

H:\TEMP\dd>kfed readsdf_sdf1.dd

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: 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

0064D8400 00000000 00000000 00000000 00000000  [................]

        Repeat 26 times

0064D85B0 00000000 00000000 00000000 02000000  [................]

0064D85C0 FE8E0001 003FFFFF DFFC0000 0000257F  [......?......%..]

0064D85D0 00000000 00000000 00000000 00000000  [................]

        Repeat 1 times

0064D85F0 00000000 00000000 00000000 AA550000  [..............U.]

0064D8600 00000000 00000000 00000000 00000000  [................]

  Repeat 223 times

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

分析其他比特置的block情况,初步看基本上ok[運氣還不錯]

H:\TEMP\dd>kfed readsdf_sdf1.ddblkn=2|grepkfbh.type

kfbh.type:                            3 ; 0x002: KFBTYP_ALLOCTBL

H:\TEMP\dd>kfed readsdf_sdf1.ddblkn=3|grepkfbh.type

kfbh.type:                            3 ; 0x002: KFBTYP_ALLOCTBL

H:\TEMP\dd>kfed readsdf_sdf1.ddblkn=1 aun=2|grepkfbh.type

kfbh.type:                            3 ; 0x002: KFBTYP_ALLOCTBL

通過檢索備份出來的部分磁盤文件,找出來ORCLDISK信息部分(asm disk header)
 

 


然後利用這個部分對損壞的磁盤頭進行修複,並且dd回生產環境中,並嘗試mount磁盤組,數據庫open成功
 


至此這個數據庫運氣不錯,沒有過多損壞,算完美恢複,可以進行了邏輯導出和rman備份,全部正常.為了後續安全,建議對其進行遷移

原网站

版权声明
本文为[惜分飛]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/173/202206220438298647.html