如果你在使用ASM时遇到ASM Diskgroup无法MOUNT且ASM实例的alert.log中出现以下错误的话:
ERROR: no read quorum in group: required 1, found 0 disks
ORA-15032: not all alterations performed
ORA-15017: diskgroup “TESTDG04” cannot be mounted
ORA-15063: ASM discovered an insufficient number of disks for diskgroup “TESTDG04”
ERROR: /* ASMCMD */ALTER DISKGROUP testdg04 MOUNT
那么可能说明该ASM Diskgroup上的部分Metadata元数据已经存在逻辑损坏/不一致了,对于这种场景可以尝试先用kfed repair来修复 (10.2.0.5版本以后)
但如果kfed repair无法搞定的话,那么一般需要对ASM底层结构十分熟悉的专业技术人员来手工修复逻辑损坏了
ASMCMD> mount testdg04 ORA-15032: not all alterations performed ORA-15017: diskgroup "TESTDG04" cannot be mounted ORA-15063: ASM discovered an insufficient number of disks for diskgroup "TESTDG04" (DBD ERROR: OCIStmtExecute) SQL> /* ASMCMD */ALTER DISKGROUP testdg04 MOUNT NOTE: cache registered group TESTDG04 number=1 incarn=0x22485c89 NOTE: cache began mount (first) of group TESTDG04 number=1 incarn=0x22485c89 NOTE: Assigning number (1,0) to disk (/oracleasm/asm-disk01) Fri Jan 30 02:33:05 2015 ERROR: no read quorum in group: required 1, found 0 disks NOTE: cache dismounting (clean) group 1/0x22485C89 (TESTDG04) NOTE: messaging CKPT to quiesce pins Unix process pid: 8724, image: oracle@mlab2.oracle.com (TNS V1-V3) NOTE: dbwr not being msg'd to dismount NOTE: lgwr not being msg'd to dismount NOTE: cache dismounted group 1/0x22485C89 (TESTDG04) NOTE: cache ending mount (fail) of group TESTDG04 number=1 incarn=0x22485c89 NOTE: cache deleting context for group TESTDG04 1/0x22485c89 GMON dismounting group 1 at 139 for pid 20, osid 8724 NOTE: Disk in mode 0x8 marked for de-assignment ERROR: diskgroup TESTDG04 was not mounted ORA-15032: not all alterations performed ORA-15017: diskgroup "TESTDG04" cannot be mounted ORA-15063: ASM discovered an insufficient number of disks for diskgroup "TESTDG04" ERROR: /* ASMCMD */ALTER DISKGROUP testdg04 MOUNT Fri Jan 30 02:33:05 2015 NOTE: No asm libraries found in the system SQL> create diskgroup testdg04 external redundancy disk '/oracleasm/asm-disk01'; Diskgroup created. [oracle@mlab2 ~]$ kfed read /oracleasm/asm-disk01 aun=1 blkn=0|less kfbh.endian: 1 ; 0x000: 0x01 kfbh.hard: 130 ; 0x001: 0x82 kfbh.type: 17 ; 0x002: KFBTYP_PST_META kfbh.datfmt: 1 ; 0x003: 0x01 kfbh.block.blk: 256 ; 0x004: blk=256 kfbh.block.obj: 2147483648 ; 0x008: disk=0 kfbh.check: 4150372545 ; 0x00c: 0xf761a8c1 kfbh.fcn.base: 0 ; 0x010: 0x00000000 kfbh.fcn.wrap: 0 ; 0x014: 0x00000000 kfbh.spare1: 0 ; 0x018: 0x00000000 kfbh.spare2: 0 ; 0x01c: 0x00000000 kfdpHdrBv0.time.hi: 33015746 ; 0x000: HOUR=0x2 DAYS=0x1e MNTH=0x1 YEAR=0x7df kfdpHdrBv0.time.lo: 2005330944 ; 0x004: USEC=0x0 MSEC=0x1bb SECS=0x38 MINS=0x1d kfdpHdrBv0.last: 2 ; 0x008: 0x00000002 kfdpHdrBv0.next: 2 ; 0x00c: 0x00000002 kfdpHdrBv0.copyCnt: 1 ; 0x010: 0x01 kfdpHdrBv0.version: 0 ; 0x011: 0x00 kfdpHdrBv0.ub2spare: 0 ; 0x012: 0x0000 kfdpHdrBv0.incarn: 1 ; 0x014: 0x00000001 kfdpHdrBv0.copy[0]: 0 ; 0x018: 0x0000 kfdpHdrBv0.copy[1]: 0 ; 0x01a: 0x0000 kfdpHdrBv0.copy[2]: 0 ; 0x01c: 0x0000 kfdpHdrBv0.copy[3]: 0 ; 0x01e: 0x0000 kfdpHdrBv0.copy[4]: 0 ; 0x020: 0x0000 kfdpHdrBv0.dtaSz: 1 ; 0x022: 0x0001 ub1[0]: 2 ; 0x024: 0x02 ub1[1]: 0 ; 0x025: 0x00 ub1[2]: 0 ; 0x026: 0x00 ub1[3]: 0 ; 0x027: 0x00 ub1[4]: 0 ; 0x028: 0x00 ub1[5]: 0 ; 0x029: 0x00 ub1[6]: 0 ; 0x02a: 0x00 ub1[7]: 0 ; 0x02b: 0x00 ub1[8]: 0 ; 0x02c: 0x00 ub1[9]: 0 ; 0x02d: 0x00
如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复!
诗檀软件专业数据库修复团队
服务热线 : 13764045638 QQ号:47079569 邮箱:service@parnassusdata.com
ORACLE PRM是诗檀软件独立研发的ORACLE数据库灾难恢复软件,其具有全程图形化界面、简单高效等特点。
[oracle@mlab2 trace]$ oerr ora 15063
15063, 00000, “ASM discovered an insufficient number of disks for diskgroup \”%s\””
// *Cause: ASM was unable to find a sufficient number of disks belonging to the
// diskgroup to continue the operation.
// *Action: Check that the disks in the diskgroup are present and functioning,
// that the owner of the ORACLE binary has read/write permission to
// the disks, and that the ASM_DISKSTRING initialization parameter
// has been set correctly. Verify that ASM discovers the appropriate
// disks by querying V$ASM_DISK from the ASM instance.
//
[oracle@mlab2 trace]$ oerr ora 15017
15017, 00000, “diskgroup \”%s\” cannot be mounted”
// *Cause: The disk group could not be mounted by the ASM instance either
// of an IO error or due to other reasons explained in alert log or
// trace files.
// *Action: Check for additional errors reported. Correct the error and
// retry the operation.
//
[oracle@mlab2 trace]$ oerr ora 15032
15032, 00000, “not all alterations performed”
// *Cause: At least one ALTER DISKGROUP action failed.
// *Action: Check the other messages issued along with this summary error.
//