プロのOracle Databaseの復旧サービスを提供 携帯番号: +86 13764045638 メール:service@parnassusdata.com

    ユーザーが前に使用可能なdiskgroup をmountするときに,ASMのアラームログで以下のエラが示される:   SQL> ALTER DISKGROUP ALL MOUNT Tue Jul 19 09:31:09 2005 Loaded ASM Library - Generic Linux, version 1.0.0 library for asmlib interface Tue Jul 19 09:31:09 2005 NOTE: cache registered group DBFILE_GRP number=1 incarn=0xc3fd9b7d NOTE: cache registered group FLASHBACK_GRP number=2 incarn=0xc40d9b7e NOTE: cache dismounting group 1/0xC3FD9B7D (DBFILE_GRP) NOTE: dbwr not being msg'd to dismount ERROR: diskgroup DBFILE_GRP was not mounted NOTE: cache dismounting group 2/0xC40D9B7E (FLASHBACK_GRP) NOTE: dbwr not being msg'd to dismount ERROR: diskgroup FLASHBACK_GRP was not mounted [oracle@vrh8 ~]$ 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. // [oracle@vrh8 ~]$ 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. // 主に三つのエラが現れる: ORA-15032: not all alterations performed ORA-15063: diskgroup “FLASHBACK_GRP” lacks quorum of 2 PST disks; 0 found ORA-15063: diskgroup “DBFILE_GRP” lacks quorum of 2 PST disks; 0 found SQL> select path, MOUNT_STATUS, HEADER_STATUS, MODE_STATUS, STATE from v$asm_disk; PATH MOUNT_S HEADER_STATUS MODE_ST STATE ------------- ------- ------------- ------- -------- /dev/raw/raw1 CLOSED PROVISIONED ONLINE NORMAL 一般的に、このトラブルの原因はハードウェアトラブルあるいはストレージハードウェアがアップグレードしている。 Kfedでdisk headerをチェックする: kfed read /dev/raw/raw1 kfbh.type: 1 ; 0x002: KFBTYP_DISKHEAD kfdhdb.driver.provstr: ORCLDISKASM1 ; 0x000: length=12 kfdhdb.grptyp: 1 ; 0x026: KFDGTP_EXTERNAL kfdhdb.hdrsts: 3 ; 0x027: KFDHDR_MEMBER kfdhdb.dskname: ASM1 ; 0x028: length=4 kfdhdb.grpname: DBFILE_GRP ; 0x048: length=10 kfdhdb.fgname: ASM1 ; 0x068: length=4 kfdhdb.capname: ; 0x088: length=0 kfdhdb.dskname: ASM1 ; 0x028: length=4 kfdhdb.grpname: DBFILE_GRP ; 0x048: length=10 kfdhdb.fgname: ASM1 ; 0x068: length=4 kfdhdb.capname: ; 0x088: length=0 kfdhdb.hdrsts: 3 ; 0x027: KFDHDR_MEMBER, KFDHDR_MEMBERを観察して、そのheader状態が実際にはMEMBERだと説明してください。けどV$ASM_DISK.HEADER_STATUS はPROVISIONEDと映して、二つには一致していない。 disk headerでkfdhdb.hdrsts がdiskの状態を標識した。次のテーブルでいくつかの状態のディスクライブを含んでいる:  
kfdhdb.hdrsts ディスクライブ
MEMBER 今のdiskgroupのdiskに属している
FORMER このdiskは前にあるdiskgroupに属しているが、そのdiskgroupも削除された
CANDIDATE 裸のマシンを使うときに、新しいdiskgroupに使われるdisk
PROVISIONED Asmlibを使うと、新しいdiskgroupに使われるdisk
  もしkfed  readがその状態は0x027: KFDHDR_MEMBERの場合に、V$ASM_DISKがPROVISIONEDと示すわけにはいかない。 Checksumが正確ではない場合に、V$ASM_DISK.HEADER_STATUSがPROVISIONEDと示すかもしれない。 例えば、ハードウェアトラブルがheaderの部分が正常を示すが、あるいはchecksumだけが正確ではないと示される。Kfedでそのトラブルをリカバリできる。流石に、 kfed、amdu 、adhuはASM三神器である。