当前位置: 首页 > 编程日记 > 正文

ASM丢失disk header导致ORA-15032、ORA-15040、ORA-15042 Diskgroup无法mount

ASM丢失disk header导致ORA-15032、ORA-15040、ORA-15042 Diskgroup无法mount的案例不少,这里我们介绍下如何解决。         SQL> select * from v$version; BANNER -------------------------------------------------------------------------------- Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production PL/SQL Release 11.2.0.3.0 - Production CORE 11.2.0.3.0 Production TNS for Linux: Version 11.2.0.3.0 - Production NLSRTL Version 11.2.0.3.0 - Production   SQL> alter diskgroup datadg mount; alter diskgroup datadg mount * ERROR at line 1: ORA-15032: not all alterations performed ORA-15040: diskgroup is incomplete ORA-15042: ASM disk "5" is missing from group number "1" ERROR: alter diskgroup datadg mount Wed Mar 13 07:42:03 2013   SQL> alter diskgroup datadg mount NOTE: cache registered group DATADG number=1 incarn=0xccb845cd NOTE: cache began mount (first) of group DATADG number=1 incarn=0xccb845cd NOTE: Assigning number (1,2) to disk (/dev/asm-diskg) NOTE: Assigning number (1,1) to disk (/dev/asm-diskf) NOTE: Assigning number (1,0) to disk (/dev/asm-diske) Wed Mar 13 16:42:09 2013 NOTE: GMON heartbeating for grp 1 GMON querying group 1 at 20 for pid 27, osid 5439 NOTE: Assigning number (1,5) to disk () GMON querying group 1 at 21 for pid 27, osid 5439 NOTE: cache dismounting (clean) group 1/0xCCB845CD (DATADG) NOTE: messaging CKPT to quiesce pins Unix process pid: 5439, image: oracle@vmac1 (TNS V1-V3) NOTE: dbwr not being msg'd to dismount NOTE: lgwr not being msg'd to dismount NOTE: cache dismounted group 1/0xCCB845CD (DATADG) NOTE: cache ending mount (fail) of group DATADG number=1 incarn=0xccb845cd NOTE: cache deleting context for group DATADG 1/0xccb845cd GMON dismounting group 1 at 22 for pid 27, osid 5439 NOTE: Disk in mode 0x8 marked for de-assignment NOTE: Disk in mode 0x8 marked for de-assignment NOTE: Disk in mode 0x8 marked for de-assignment NOTE: Disk in mode 0x8 marked for de-assignment ERROR: diskgroup DATADG was not mounted ORA-15032: not all alterations performed ORA-15040: diskgroup is incomplete ORA-15042: ASM disk "5" is missing from group number "1" ERROR: alter diskgroup datadg mount Wed Mar 13 16:42:10 2013 ASM Health Checker found 1 new failures   [grid@vmac1 ~]$ kfed read /dev/asm-diskh 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 7FA1DA233400 00000000 00000000 00000000 00000000 [................] Repeat 255 times KFED-00322: Invalid content encountered during block traversal: [kfbtTraverseBlock][Invalid OSM block type][][0] col path for a20 set linesize 200 pagesize 1400 select path,header_status,state from v$asm_disk; PATH HEADER_STATUS STATE -------------------- ------------------------------------ ------------------------ /dev/asm-diskh CANDIDATE NORMAL /dev/asm-diskg MEMBER NORMAL /dev/asm-diskf MEMBER NORMAL /dev/asm-diske MEMBER NORMAL /dev/asm-diskc MEMBER NORMAL /dev/asm-diskd MEMBER NORMAL /dev/asm-diskb MEMBER NORMAL 7 rows selected. [grid@vmac1 ~]$ kfed repair /dev/asm-diskh KFED-00320: Invalid block num1 = [0], num2 = [1], error = [endian_kfbh]   [grid@vmac1 ~]$ kfed repair /dev/asm-diskh ausz=1048576 KFED-00320: Invalid block num1 = [0], num2 = [1], error = [endian_kfbh]     关闭ASM实例       优先备份 问题ASM的header dd if=<bad disk> of=<file> bs=4096 count=1       3. 检查现有磁盘找出拥有file 1 block 1的 [grid@vmac1 ~]$ kfed read /dev/asm-diske |grep f1b1 kfdhdb.f1b1locn: 2 ; 0x0d4: 0x00000002 [grid@vmac1 ~]$ [grid@vmac1 ~]$ kfed read /dev/asm-diskf |grep f1b1 kfdhdb.f1b1locn: 0 ; 0x0d4: 0x00000000 [grid@vmac1 ~]$ kfed read /dev/asm-diskg |grep f1b1 kfdhdb.f1b1locn: 0 ; 0x0d4: 0x00000000   这里asm-diske上出现了f1b1非零值,则其拥有file 1 block 1,可以通过检查第二个au的类型是否是KFBTYP_LISTHEAD来确认 [grid@vmac1 ~]$ kfed read /dev/asm-diske aun=2|grep kfbh.type kfbh.type: 5 ; 0x002: KFBTYP_LISTHEAD     若丢失的磁盘包含了"file 1 block 1 F1B1"则扫描 该磁盘上所有的 AU直到找到KFBTYP_LISTHEAD , 如果找不到LISTHEAD 那么别无选择只能重建diskgroup。   从版本11.1.0.7开始(10g是从10.2.0.5开始,所以尽量别用10.2.0.5之前的版本上的ASM),当每一个I/O写提交向ASM disk header(AU 0 blocknum 0),都会复制到 AU 1中,最后第二个块。基于不同的AU size,该块的位置不同 Allocation Unit Size Block Number on AU 1 1048576 254 4194304 1022 8388608 2046 16777216 4094   首先使用kfed 验证该位置是否有正确的disk header,否则手动找到合适的header。 表1如参考: [grid@vmac1 ~]$ kfed read /dev/asm-diske ausz=1048576 aun=1 blkn=254|less kfbh.endian: 1 ; 0x000: 0x01 kfbh.hard: 130 ; 0x001: 0x82 kfbh.type: 1 ; 0x002: KFBTYP_DISKHEAD kfbh.datfmt: 1 ; 0x003: 0x01 kfbh.block.blk: 254 ; 0x004: blk=254 kfbh.block.obj: 2147483648 ; 0x008: disk=0 kfbh.check: 2086475720 ; 0x00c: 0x7c5d17c8 kfbh.fcn.base: 31322 ; 0x010: 0x00007a5a kfbh.fcn.wrap: 0 ; 0x014: 0x00000000 kfbh.spare1: 0 ; 0x018: 0x00000000 之后使用kfed repair命令修复disk header [grid@vmac1 ~]$ kfed repair /dev/asm-diskh ausz=1048576     如果disk header的自动备份也丢失了,那么会报如下错误 KFED-00320: Invalid block num1 = [0], num2 = [1], error = [endian_kfbh]   若上述kfed repair无效则需要通过 手动恢复disk header的办法了:   对于版本10.2.0.5之前没有kred repair可用的情况:   找一个与问题disk 在同一个diskgroup中的,不包含f1b1 的好的disk header。 例如这里的asm-diskf [grid@vmac1 ~]$ kfed read /dev/asm-diskf |grep f1b1 kfdhdb.f1b1locn: 0 ; 0x0d4: 0x00000000   使用kfed read <device name> > fix.txt 命令保存其头部 [grid@vmac1 ~]$ kfed read /dev/asm-diskf > fix.txt 编辑fix.txt 修改kfdhdb.dsknum 、kfdhdb.dskname 、 kfdhdb.fgname 三个信息: 同时参考alert.log中的信息: [grid@vmac1 trace]$ grep "cache opening" alert_+ASM1.log NOTE: cache opening disk 0 of grp 1: SYSTEDG_0000 path:/dev/asm-diskb NOTE: cache opening disk 1 of grp 1: SYSTEDG_0001 path:/dev/asm-diskc NOTE: cache opening disk 2 of grp 1: SYSTEDG_0002 path:/dev/asm-diskd NOTE: cache opening disk 0 of grp 1: SYSTEDG_0000 path:/dev/asm-diskb NOTE: cache opening disk 1 of grp 1: SYSTEDG_0001 path:/dev/asm-diskc NOTE: cache opening disk 2 of grp 1: SYSTEDG_0002 path:/dev/asm-diskd NOTE: cache opening disk 0 of grp 1: SYSTEDG_0000 path:/dev/asm-diskb NOTE: cache opening disk 1 of grp 1: SYSTEDG_0001 path:/dev/asm-diskc NOTE: cache opening disk 2 of grp 1: SYSTEDG_0002 path:/dev/asm-diskd NOTE: cache opening disk 0 of grp 1: SYSTEDG_0000 path:/dev/asm-diskb NOTE: cache opening disk 1 of grp 1: SYSTEDG_0001 path:/dev/asm-diskc NOTE: cache opening disk 2 of grp 1: SYSTEDG_0002 path:/dev/asm-diskd NOTE: cache opening disk 0 of grp 1: SYSTEDG_0000 path:/dev/asm-diskb NOTE: cache opening disk 1 of grp 1: SYSTEDG_0001 path:/dev/asm-diskc NOTE: cache opening disk 2 of grp 1: SYSTEDG_0002 path:/dev/asm-diskd NOTE: cache opening disk 0 of grp 1: SYSTEDG_0000 path:/dev/asm-diskb NOTE: cache opening disk 1 of grp 1: SYSTEDG_0001 path:/dev/asm-diskc NOTE: cache opening disk 2 of grp 1: SYSTEDG_0002 path:/dev/asm-diskd NOTE: cache opening disk 0 of grp 2: DATADG_0000 path:/dev/asm-diske NOTE: cache opening disk 1 of grp 2: DATADG_0001 path:/dev/asm-diskf NOTE: cache opening disk 2 of grp 2: DATADG_0002 path:/dev/asm-diskg NOTE: cache opening disk 0 of grp 2: DATADG_0000 path:/dev/asm-diske NOTE: cache opening disk 1 of grp 2: DATADG_0001 path:/dev/asm-diskf NOTE: cache opening disk 2 of grp 2: DATADG_0002 path:/dev/asm-diskg NOTE: cache opening disk 0 of grp 1: DATADG_0000 path:/dev/asm-diske NOTE: cache opening disk 1 of grp 1: DATADG_0001 path:/dev/asm-diskf NOTE: cache opening disk 2 of grp 1: DATADG_0002 path:/dev/asm-diskg NOTE: cache opening disk 0 of grp 2: SYSTEDG_0000 path:/dev/asm-diskb NOTE: cache opening disk 1 of grp 2: SYSTEDG_0001 path:/dev/asm-diskc NOTE: cache opening disk 2 of grp 2: SYSTEDG_0002 path:/dev/asm-diskd NOTE: cache opening disk 5 of grp 1: DATADG_0005 path:/dev/asm-diskh     原fix.txt中的内容: [grid@vmac1 ~]$ egrep "dsknum|grptyp|hdrsts|dskname|grpname|fgname" fix.txt kfdhdb.dsknum: 1 ; 0x024: 0x0001 kfdhdb.grptyp: 1 ; 0x026: KFDGTP_EXTERNAL kfdhdb.hdrsts: 3 ; 0x027: KFDHDR_MEMBER kfdhdb.dskname: DATADG_0001 ; 0x028: length=11 kfdhdb.grpname: DATADG ; 0x048: length=6 kfdhdb.fgname: DATADG_0001 ; 0x068: length=11   修改后: [grid@vmac1 ~]$ egrep "dsknum|grptyp|hdrsts|dskname|grpname|fgname" fix.txt kfdhdb.dsknum: 5 ; 0x024: 0x0005 kfdhdb.grptyp: 1 ; 0x026: KFDGTP_EXTERNAL kfdhdb.hdrsts: 3 ; 0x027: KFDHDR_MEMBER kfdhdb.dskname: DATADG_0005 ; 0x028: length=11 kfdhdb.grpname: DATADG ; 0x048: length=6 kfdhdb.fgname: DATADG_0005 ; 0x068: length=11   还需要修改 kfbh.block.obj [grid@vmac1 ~]$ grep kfbh.block.obj fix.txt kfbh.block.obj: 2147483649 ; 0x008: disk=1 2147483649==》0x80000001 0x80000001 最后一位是ASM DISK NUMBER , 应当等于kfdhdb.dsknum , 在这里为 0x80000005 ==》 2147483653 [grid@vmac1 ~]$ grep kfbh.block.obj fix.txt kfbh.block.obj: 2147483653 ; 0x008: disk=5   若使用windows平台上的ASMLIB则还要麻烦地修改kfdhdb.driver.reserved[0], 所幸很少人会用Windows上的ASMLIB       接着查看aunum=2 blknum=2来查找 disk directory, kfed read 拥有 f1b1的disk的 aunum=2 blknum=位置: kfed read <device name> aunum=2 blknum=2 | more [grid@vmac1 ~]$ kfed read /dev/asm-diske|grep f1b1 kfdhdb.f1b1locn: 2 ; 0x0d4: 0x00000002   [grid@vmac1 ~]$ kfed read /dev/asm-diske aunum=2 blknum=2|more kfbh.endian: 1 ; 0x000: 0x01 kfbh.hard: 130 ; 0x001: 0x82 kfbh.type: 4 ; 0x002: KFBTYP_FILEDIR kfbh.datfmt: 1 ; 0x003: 0x01 kfbh.block.blk: 2 ; 0x004: blk=2 kfbh.block.obj: 1 ; 0x008: file=1 kfbh.check: 322527999 ; 0x00c: 0x133962ff kfbh.fcn.base: 0 ; 0x010: 0x00000000 kfbh.fcn.wrap: 0 ; 0x014: 0x00000000 kfbh.spare1: 0 ; 0x018: 0x00000000 kfbh.spare2: 0 ; 0x01c: 0x00000000 kfffdb.node.incarn: 1 ; 0x000: A=1 NUMM=0x0 kfffdb.node.frlist.number: 4294967295 ; 0x004: 0xffffffff ......................... kfffde[0].xptr.au: 3 ; 0x4a0: 0x00000003 kfffde[0].xptr.disk: 0 ; 0x4a4: 0x0000 kfffde[0].xptr.flags: 0 ; 0x4a6: L=0 E=0 D=0 S=0 kfffde[0].xptr.chk: 41 ; 0x4a7: 0x29 kfffde[1].xptr.au: 4294967295 ; 0x4a8: 0xffffffff kfffde[1].xptr.disk: 65535 ; 0x4ac: 0xffff kfffde[1].xptr.flags: 0 ; 0x4ae: L=0 E=0 D=0 S=0 kfffde[1].xptr.chk: 42 ; 0x4af: 0x2a ==》disk directory 位于 disk=0 的 aunum=3 NOTE: cache opening disk 0 of grp 2: DATADG_0000 path:/dev/asm-diske ==> 还是 asm-diske [grid@vmac1 ~]$ kfed read /dev/asm-diske aunum=3 blknum=0|more kfbh.endian: 1 ; 0x000: 0x01 kfbh.hard: 130 ; 0x001: 0x82 kfbh.type: 6 ; 0x002: KFBTYP_DISKDIR kfbh.datfmt: 1 ; 0x003: 0x01 kfbh.block.blk: 0 ; 0x004: blk=0 kfbh.block.obj: 2 ; 0x008: file=2 kfbh.check: 389127513 ; 0x00c: 0x17319d59 kfbh.fcn.base: 31299 ; 0x010: 0x00007a43 kfbh.fcn.wrap: 0 ; 0x014: 0x00000000 kfbh.spare1: 0 ; 0x018: 0x00000000 kfbh.spare2: 0 ; 0x01c: 0x00000000 kffdnd.bnode.incarn: 1 ; 0x000: A=1 NUMM=0x0 kffdnd.bnode.frlist.number: 4294967295 ; 0x004: 0xffffffff kffdnd.bnode.frlist.incarn: 0 ; 0x008: A=0 NUMM=0x0 kffdnd.overfl.number: 4294967295 ; 0x00c: 0xffffffff kffdnd.overfl.incarn: 0 ; 0x010: A=0 NUMM=0x0 kffdnd.parent.number: 0 ; 0x014: 0x00000000 kffdnd.parent.incarn: 1 ; 0x018: A=1 NUMM=0x0 kffdnd.fstblk.number: 0 ; 0x01c: 0x00000000 kffdnd.fstblk.incarn: 1 ; 0x020: A=1 NUMM=0x0 kfddde[0].entry.incarn: 1 ; 0x024: A=1 NUMM=0x0 kfddde[0].entry.hash: 0 ; 0x028: 0x00000000 kfddde[0].entry.refer.number:4294967295 ; 0x02c: 0xffffffff kfddde[0].entry.refer.incarn: 0 ; 0x030: A=0 NUMM=0x0 .......................................................... kfddde 结构为 disk directory结构,仅有kfddde[0].entry.incarn A=1的记录是已分配的记录,若A=0则说明该记录被删除。 [grid@vmac1 ~]$ grep "kfddde\[5\]" disk.txt kfddde[5].entry.incarn: 1 ; 0x8e4: A=1 NUMM=0x0 kfddde[5].entry.hash: 5 ; 0x8e8: 0x00000005 kfddde[5].entry.refer.number:4294967295 ; 0x8ec: 0xffffffff kfddde[5].entry.refer.incarn: 0 ; 0x8f0: A=0 NUMM=0x0 kfddde[5].dsknum: 5 ; 0x8f4: 0x0005 kfddde[5].state: 2 ; 0x8f6: KFDSTA_NORMAL kfddde[5].ddchgfl: 132 ; 0x8f7: 0x84 kfddde[5].dskname: DATADG_0005 ; 0x8f8: length=11 kfddde[5].fgname: DATADG_0005 ; 0x918: length=11 kfddde[5].crestmp.hi: 32984459 ; 0x938: HOUR=0xb DAYS=0xc MNTH=0x3 YEAR=0x7dd kfddde[5].crestmp.lo: 2470649856 ; 0x93c: USEC=0x0 MSEC=0xc8 SECS=0x34 MINS=0x24 kfddde[5].failstmp.hi: 0 ; 0x940: HOUR=0x0 DAYS=0x0 MNTH=0x0 YEAR=0x0 kfddde[5].failstmp.lo: 0 ; 0x944: USEC=0x0 MSEC=0x0 SECS=0x0 MINS=0x0 kfddde[5].timer: 0 ; 0x948: 0x00000000 kfddde[5].size: 5120 ; 0x94c: 0x00001400 kfddde[5].srRloc.super.hiStart: 0 ; 0x950: 0x00000000 kfddde[5].srRloc.super.loStart: 0 ; 0x954: 0x00000000 kfddde[5].srRloc.super.length: 0 ; 0x958: 0x00000000 kfddde[5].srRloc.incarn: 0 ; 0x95c: 0x00000000 kfddde[5].dskrprtm: 0 ; 0x960: 0x00000000 kfddde[5].zones[0].start: 0 ; 0x964: 0x00000000 kfddde[5].zones[0].size: 5120 ; 0x968: 0x00001400 kfddde[5].zones[0].used: 2 ; 0x96c: 0x00000002   回到编辑fix.txt上来, 调整 crestmp.hi 和 crestmp.lo 匹配上面显示的信息,若已经匹配则无需修改。 原本 [grid@vmac1 ~]$ egrep "hi|lo" fix.txt kfbh.block.blk: 0 ; 0x004: blk=0 kfbh.block.obj: 2147483653 ; 0x008: disk=5 kfdhdb.crestmp.hi: 32983191 ; 0x0a8: HOUR=0x17 DAYS=0x4 MNTH=0x2 YEAR=0x7dd kfdhdb.crestmp.lo: 2328519680 ; 0x0ac: USEC=0x0 MSEC=0x299 SECS=0x2c MINS=0x22 kfdhdb.mntstmp.hi: 32984468 ; 0x0b0: HOUR=0x14 DAYS=0xc MNTH=0x3 YEAR=0x7dd kfdhdb.mntstmp.lo: 1231840256 ; 0x0b4: USEC=0x0 MSEC=0x319 SECS=0x16 MINS=0x12 kfdhdb.fstlocn: 1 ; 0x0cc: 0x00000001 kfdhdb.altlocn: 2 ; 0x0d0: 0x00000002 kfdhdb.f1b1locn: 0 ; 0x0d4: 0x00000000 kfdhdb.grpstmp.hi: 32983191 ; 0x0e4: HOUR=0x17 DAYS=0x4 MNTH=0x2 YEAR=0x7dd kfdhdb.grpstmp.lo: 2328331264 ; 0x0e8: USEC=0x0 MSEC=0x1e1 SECS=0x2c MINS=0x22 修改后 kfdhdb.crestmp.hi: 32984459 ; 0x938: HOUR=0xb DAYS=0xc MNTH=0x3 YEAR=0x7dd kfdhdb.crestmp.lo: 2470649856 ; 0x93c: USEC=0x0 MSEC=0xc8 SECS=0x34 MINS=0x24 kfdhdb.mntstmp.hi: 32984468 ; 0x0b0: HOUR=0x14 DAYS=0xc MNTH=0x3 YEAR=0x7dd kfdhdb.mntstmp.lo: 1231840256 ; 0x0b4: USEC=0x0 MSEC=0x319 SECS=0x16 MINS=0x12   之后使用kfed merge命令合并disk header kfed merge <device name> text=fix.txt [grid@vmac1 ~]$ kfed merge /dev/asm-diskh text=fix.txt   若使用ASMLIb,则使用如下命令修复header中的asmlib信息   /etc/init.d/oracleasm force-renamedisk /dev/sdbg1 <ASMLIB Disk Name> /etc/init.d/oracleasm scandisks /etc/init.d/oracleasm listdisks     之后启动ASM实例到nomount SQL> startup nomount; SQL> col path for a20 SQL> set linesize 200 pagesize 1400 SQL> select path,header_status,state from v$asm_disk; PATH HEADER_STATUS STATE -------------------- ------------------------------------ ------------------------ /dev/asm-diskh MEMBER NORMAL /dev/asm-diskg MEMBER NORMAL /dev/asm-diskf MEMBER NORMAL /dev/asm-diske MEMBER NORMAL /dev/asm-diskc MEMBER NORMAL /dev/asm-diskd MEMBER NORMAL /dev/asm-diskb MEMBER NORMAL 7 rows selected. 检查头部信息是否为member       [grid@vmac1 ~]$ kfed read /dev/asm-diskh kfbh.endian: 1 ; 0x000: 0x01 kfbh.hard: 130 ; 0x001: 0x82 kfbh.type: 1 ; 0x002: KFBTYP_DISKHEAD kfbh.datfmt: 1 ; 0x003: 0x01 kfbh.block.blk: 0 ; 0x004: blk=0 kfbh.block.obj: 2147483653 ; 0x008: disk=5 kfbh.check: 3412972861 ; 0x00c: 0xcb6dd53d kfbh.fcn.base: 0 ; 0x010: 0x00000000 kfbh.fcn.wrap: 0 ; 0x014: 0x00000000 kfbh.spare1: 0 ; 0x018: 0x00000000 kfbh.spare2: 0 ; 0x01c: 0x00000000 kfdhdb.driver.provstr: ORCLDISK ; 0x000: length=8 kfdhdb.driver.reserved[0]: 0 ; 0x008: 0x00000000 kfdhdb.driver.reserved[1]: 0 ; 0x00c: 0x00000000 kfdhdb.driver.reserved[2]: 0 ; 0x010: 0x00000000 kfdhdb.driver.reserved[3]: 0 ; 0x014: 0x00000000 kfdhdb.driver.reserved[4]: 0 ; 0x018: 0x00000000   之后 alter diskgroup 问题DG mount; 若上述步骤无问题则可以正常mount dg; SQL> SQL> alter diskgroup datadg mount; Diskgroup altered. NOTE: cache registered group DATADG number=1 incarn=0x01c845f0 NOTE: cache began mount (first) of group DATADG number=1 incarn=0x01c845f0 NOTE: Assigning number (1,5) to disk (/dev/asm-diskh) NOTE: Assigning number (1,2) to disk (/dev/asm-diskg) NOTE: Assigning number (1,1) to disk (/dev/asm-diskf) NOTE: Assigning number (1,0) to disk (/dev/asm-diske) Wed Mar 13 19:39:49 2013 NOTE: GMON heartbeating for grp 1 GMON querying group 1 at 56 for pid 27, osid 8690 NOTE: cache opening disk 0 of grp 1: DATADG_0000 path:/dev/asm-diske NOTE: F1X0 found on disk 0 au 2 fcn 0.31322 NOTE: cache opening disk 1 of grp 1: DATADG_0001 path:/dev/asm-diskf NOTE: cache opening disk 2 of grp 1: DATADG_0002 path:/dev/asm-diskg NOTE: cache opening disk 5 of grp 1: DATADG_0005 path:/dev/asm-diskh NOTE: cache mounting (first) external redundancy group 1/0x01C845F0 (DATADG) Wed Mar 13 19:39:49 2013 * allocate domain 1, invalid = TRUE kjbdomatt send to inst 2 Wed Mar 13 19:39:49 2013 NOTE: attached to recovery domain 1 NOTE: starting recovery of thread=1 ckpt=11.2351 group=1 (DATADG) NOTE: advancing ckpt for group 1 (DATADG) thread=1 ckpt=11.2351 NOTE: cache recovered group 1 to fcn 0.33763 NOTE: redo buffer size is 256 blocks (1053184 bytes) Wed Mar 13 19:39:49 2013 NOTE: LGWR attempting to mount thread 1 for diskgroup 1 (DATADG) NOTE: LGWR found thread 1 closed at ABA 11.2350 NOTE: LGWR mounted thread 1 for diskgroup 1 (DATADG) NOTE: LGWR opening thread 1 at fcn 0.33763 ABA 12.2351 NOTE: cache mounting group 1/0x01C845F0 (DATADG) succeeded NOTE: cache ending mount (success) of group DATADG number=1 incarn=0x01c845f0 GMON querying group 1 at 57 for pid 18, osid 2911 Wed Mar 13 19:39:49 2013 NOTE: Instance updated compatible.asm to 11.2.0.0.0 for grp 1 SUCCESS: diskgroup DATADG was mounted SUCCESS: alter diskgroup datadg mount Wed Mar 13 19:39:49 2013 NOTE: diskgroup resource ora.DATADG.dg is online NOTE: diskgroup resource ora.DATADG.dg is updated Wed Mar 13 19:39:59 2013 NOTE: client PROD1:PROD registered, osid 10169, mbr 0x1 Wed Mar 13 19:40:11 2013 NOTE: ASM client PROD1:PROD disconnected unexpectedly. NOTE: check client alert log. NOTE: Trace records dumped in trace file /g01/orabase/diag/asm/+asm/+ASM1/trace/+ASM1_ora_10169.trc         注意 以上修复仅针对 asm header丢失磁盘头大约20MB(不一定)空间的数据, 若更多则仍可能无法mount diskgroup 若file numbe=4 Continuing Operations Directory (COD) - ASM file number 4也丢失了 那么一般很难mount了,在下面的例子中是前22MB丢失时即便kfed merge也无力回天了。 SELECT x.xnum_kffxp "Extent", x.au_kffxp "AU", x.disk_kffxp "Disk #", d.name "Disk name" FROM x$kffxp x, v$asm_disk_stat d WHERE x.group_kffxp=d.group_number and x.disk_kffxp=d.disk_number and x.group_kffxp=1 and x.number_kffxp=4 ORDER BY 1, 2; Extent AU Disk # Disk name ---------- ---------- ---------- ------------------------------------------------------------------------------------------ 0 21 5 DATADG_0005 1 16 1 DATADG_0001 2 33 2 DATADG_0002 3 34 0 DATADG_0000 4 22 5 DATADG_0005 5 34 2 DATADG_0002 6 35 0 DATADG_0000 7 33 1 DATADG_0001 SQL> alter diskgroup datadg dismount; Diskgroup altered. [grid@vmac1 ~]$ dd if=/dev/zero of=/dev/asm-diskh bs=1024k count=20 20+0 records in 20+0 records out 20971520 bytes (21 MB) copied, 0.0165823 s, 1.3 GB/s   [grid@vmac1 ~]$ kfed merge /dev/asm-diskh text=fix.txt SQL> alter diskgroup datadg mount; Diskgroup altered. SQL> alter diskgroup datadg mount; Diskgroup altered. SQL> alter diskgroup datadg dismount; Diskgroup altered. [grid@vmac1 ~]$ dd if=/dev/zero of=/dev/asm-diskh bs=1024k count=21 21+0 records in 21+0 records out 22020096 bytes (22 MB) copied, 0.0182842 s, 1.2 GB/s [grid@vmac1 ~]$ kfed merge /dev/asm-diskh text=fix.txt SQL> alter diskgroup datadg mount; Diskgroup altered.   [grid@vmac1 ~]$ dd if=/dev/zero of=/dev/asm-diskh bs=1024k count=22 22+0 records in 22+0 records out 23068672 bytes (23 MB) copied, 0.0312157 s, 739 MB/s [grid@vmac1 ~]$ kfed merge /dev/asm-diskh text=fix.txt SQL> alter diskgroup datadg mount; alter diskgroup datadg mount * ERROR at line 1: ORA-15032: not all alterations performed ORA-15130: diskgroup "DATADG" is being dismounted ORA-15066: offlining disk "DATADG_0005" in group "DATADG" may result in a data loss ORA-15196: invalid ASM block header [kfc.c:26077] [endian_kfbh] [4] [0] [0 != 1] ORA-15196: invalid ASM block header [kfc.c:26077] [endian_kfbh] [4] [0] [0 != 1]   Errors in file /g01/orabase/diag/asm/+asm/+ASM1/trace/+ASM1_ora_8690.trc: ORA-15196: invalid ASM block header [kfc.c:26077] [endian_kfbh] [4] [0] [0 != 1] ORA-15196: invalid ASM block header [kfc.c:26077] [endian_kfbh] [4] [0] [0 != 1] ERROR: cache failed to read group=1(DATADG) fn=4 blk=0 from disk(s): 5(DATADG_0005) ORA-15196: invalid ASM block header [kfc.c:26077] [endian_kfbh] [4] [0] [0 != 1] ORA-15196: invalid ASM block header [kfc.c:26077] [endian_kfbh] [4] [0] [0 != 1] NOTE: cache initiating offline of disk 5 group DATADG NOTE: process _user8690_+asm1 (8690) initiating offline of disk 5.3915953639 (DATADG_0005) with mask 0x7e in group 1 WARNING: Disk 5 (DATADG_0005) in group 1 in mode 0x7f is now being taken offline on ASM inst 1 NOTE: initiating PST update: grp = 1, dsk = 5/0xe968b5e7, mask = 0x6a, op = clear GMON updating disk modes for group 1 at 108 for pid 27, osid 8690 ERROR: Disk 5 cannot be offlined, since diskgroup has external redundancy. ERROR: too many offline disks in PST (grp 1) WARNING: Offline of disk 5 (DATADG_0005) in group 1 and mode 0x7f failed on ASM inst 1 Wed Mar 13 20:00:56 2013 NOTE: halting all I/Os to diskgroup 1 (DATADG) System State dumped to trace file /g01/orabase/diag/asm/+asm/+ASM1/trace/+ASM1_ora_8690.trc NOTE: AMDU dump of disk group DATADG created at /g01/orabase/diag/asm/+asm/+ASM1/trace ERROR: ORA-15130 signalled during mount of diskgroup DATADG NOTE: cache dismounting (clean) group 1/0xEB784617 (DATADG) NOTE: messaging CKPT to quiesce pins Unix process pid: 8690, image: oracle@vmac1 (TNS V1-V3) NOTE: LGWR doing non-clean dismount of group 1 (DATADG) NOTE: LGWR sync ABA=18.2360 last written ABA 18.2360 kjbdomdet send to inst 2 detach from dom 1, sending detach message to inst 2 Wed Mar 13 20:00:57 2013 List of instances: 1 2 Dirty detach reconfiguration started (new ddet inc 1, cluster inc 12) Global Resource Directory partially frozen for dirty detach * dirty detach - domain 1 invalid = TRUE 0 GCS resources traversed, 0 cancelled Dirty Detach Reconfiguration complete freeing rdom 1 WARNING: dirty detached from domain 1 NOTE: cache dismounted group 1/0xEB784617 (DATADG) NOTE: cache ending mount (fail) of group DATADG number=1 incarn=0xeb784617 NOTE: cache deleting context for group DATADG 1/0xeb784617 GMON dismounting group 1 at 109 for pid 27, osid 8690 NOTE: Disk in mode 0x8 marked for de-assignment NOTE: Disk in mode 0x8 marked for de-assignment NOTE: Disk in mode 0x8 marked for de-assignment NOTE: Disk in mode 0x8 marked for de-assignment ERROR: diskgroup DATADG was not mounted ORA-15032: not all alterations performed ORA-15130: diskgroup "DATADG" is being dismounted ORA-15066: offlining disk "DATADG_0005" in group "DATADG" may result in a data loss ORA-15196: invalid ASM block header [kfc.c:26077] [endian_kfbh] [4] [0] [0 != 1] ORA-15196: invalid ASM block header [kfc.c:26077] [endian_kfbh] [4] [0] [0 != 1] ERROR: alter diskgroup datadg mount SQL> alter diskgroup datadg mount; alter diskgroup datadg mount * ERROR at line 1: ORA-15032: not all alterations performed ORA-15130: diskgroup "DATADG" is being dismounted ORA-15066: offlining disk "DATADG_0005" in group "DATADG" may result in a data loss ORA-15196: invalid ASM block header [kfc.c:26077] [endian_kfbh] [4] [0] [0 != 1] ORA-15196: invalid ASM block header [kfc.c:26077] [endian_kfbh] [4] [0] [0 != 1] ORA-15196: invalid ASM block header [kfc.c:26077] [endian_kfbh] [4] [0] [0 !=1] ORA-15196: invalid ASM block header [kfc.c:26077] [endian_kfbh] [4] [0] [0 !=1] [grid@vmac1 trace]$ dd if=/dev/asm-diske of=/dev/asm-diskh bs=4096 skip=3 seek=3 count=1 1+0 records in 1+0 records out 4096 bytes (4.1 kB) copied, 0.000617397 s, 6.6 MB/s   [grid@vmac1 trace]$ dd if=/dev/asm-diske of=/dev/asm-diskh bs=4096 skip=4 seek=4 count=1 kfffde[0].xptr.au: 21 ; 0x4a0: 0x00000015 kfffde[0].xptr.disk: 5 ; 0x4a4: 0x0005 kfffde[0].xptr.flags: 0 ; 0x4a6: L=0 E=0 D=0 S=0 kfffde[0].xptr.chk: 58 ; 0x4a7: 0x3a kfffde[1].xptr.au: 16 ; 0x4a8: 0x00000010   [grid@vmac1 trace]$ dd if=/dev/asm-diske of=/dev/asm-diskh bs=1048576 skip=21 seek=21 count=1 1+0 records in 1+0 records out 1048576 bytes (1.0 MB) copied, 0.00296742 s, 353 MB/s   ORA-15066: offlining disk "DATADG_0005" in group "DATADG" may result in a data loss ORA-15196: invalid ASM block header [kfc.c:26077] [obj_kfbl] [4] [0] [3 != 4] ORA-15196: invalid ASM block header [kfc.c:26077] [obj_kfbl] [4] [0] [3 != 4] ERROR: alter diskgroup datadg mount force  

转载于:https://www.cnblogs.com/macleanoracle/archive/2013/03/19/2968279.html

相关文章:

jQuery学习(第一天)

js的回顾 遇到的问题1.window.onload只能使用一个(事件覆盖问题) 2.代码的容错性不强 3.浏览器兼容性问题 4.代码量较多,书写很繁琐 5.代码很乱到处都是 6.动画效果我们很难实现 jQuery的基本使用 image.pngmin&#xff1a;它是压缩过的版本 区别&#xff1a;我们开发过程中&am…

【组队学习】曹志宾:基于Python的会员数据化运营

分享人&#xff1a;曹志宾&#xff0c;Datawhale成员&#xff0c;香港科技大学硕士在读 分享内容&#xff1a; 案例描述与分析前期准备与数据预处理RFM模型使用与操作Excel中的RFM分析 组队学习&#xff1a; 红星&#xff1a;基于Python的会员数据化运营孙健坤&#xff1a;…

为什么要参加java培训?有哪些优势?

很多人都想要通过学习java技术进入到互联网行业&#xff0c;有一部分人是自学&#xff0c;有一部分是报Java培训班学习&#xff0c;报培训班的人比较多&#xff0c;那么为什么要参加java培训?有哪些优势?来看看下面的详细介绍。 为什么要参加java培训?有哪些优势?俗话说&am…

一、javaSE (二十三)多线程

1:多线程(理 (1)多线程:一个应用程序有多条执行路径 进程: 正在执行的应用程序 线程: 进程的执行单元,执行路径 单线程: 一个应用程序只有一条执行路径 多线程: 一个应用程序有多条执行路径 多进程的意义? 提高CpU的使用率 多线程的意义? 提高应用程序的使用案 (2)Java程序的…

【青少年编程】【二级】绘制图形

「青少年编程竞赛交流群」已成立&#xff08;适合6至18周岁的青少年&#xff09;&#xff0c;公众号后台回复【Scratch】或【Python】&#xff0c;即可进入。如果加入了之前的社群不需要重复加入。 微信后台回复“资料下载”可获取以往学习的材料&#xff08;视频、代码、文档&…

web前端培训分享:面向对象中类和对象的定义是什么?

在学习web前端技术的时候&#xff0c;我们接触的最多的便是面向对象这一块&#xff0c;其实很多编程技术都有用到这个现象&#xff0c;下面我们就为大家详细的介绍一下面向对象中类和对象的定义是什么? web前端培训分享&#xff1a;面向对象中类和对象的定义是什么?面向对象让…

无法嵌入互操作类型...请改用适用的接口 解决办法

http://blog.163.com/quan2006126/blog/static/1702286352010101810324232/背景&#xff1a;visual studio 2010、“添加引用”时出错&#xff1a; “无法嵌入互操作类型...请改用适用的接口” 解决方案&#xff1a; 选中项目中引入的dll&#xff0c; 鼠标右键&#xff0c; 选择…

宁彦吉:如何进行作业的评审?

如何进行作业的评审 由于 我们的组队学习是开放的&#xff0c;大家都可以一起学习&#xff0c;一起来做航海士&#xff0c;宁彦吉 把作业评选的教程总结出来&#xff0c;这样方便后面的航海士熟悉 任成森 开发的系统。 一、登录 1、登录流程 打开浏览器输入作业评审中心地址…

算法 - 时间复杂度

O(1) 常数阶 #include <stdio.h> #include <string.h>int main( ) {int i,sum 0,n 100000000000;sum (1 n) * (n /2);printf("%d",sum);return 0; }执行次数不随n的变化而变化。 O(n) 线性阶 #include <stdio.h> #include <string.h>int …

access百度翻译 get_百度AI攻略:智能上色

1.功能描述&#xff1a;想必大家家里都有很多黑白的老照片&#xff0c;里面有着满满的回忆。百度智能识别黑白图像内容并填充色彩&#xff0c;使黑白图像变得鲜活&#xff0c;让老照片重新焕发活力。说干就干&#xff0c;攻略和代码奉上。2.平台接入黑白图像上色接入网址&#…

sql语句中left join和inner join中的on与where的区别分析

原文:sql语句中left join和inner join中的on与where的区别分析关于SQL SERVER的表联接查询INNER JOIN 、LEFT JOIN和RIGHT JOIN&#xff0c;经常会用到ON和WHERE的条件查询&#xff0c;以前用的时候有时是凭感觉的&#xff0c;总是没有搞清楚&#xff0c;今日亲自测试了下&…

linux 笔记 一

查看apache是否开启pidof httpdps -aux | grep httpdps -ef| grep httpdpgrep httpd开启[停止|重启]/usr/sbin/apachectl start[stop|restart]/etc/init.d/httpd start[stop|restart]service httpd start[stop|restart]开机启动在/etc/rc.d/rc.local中增加启动apache的命令&…

【青少年编程】【三级】躲避恐龙

「青少年编程竞赛交流群」已成立&#xff08;适合6至18周岁的青少年&#xff09;&#xff0c;公众号后台回复【Scratch】或【Python】&#xff0c;即可进入。如果加入了之前的社群不需要重复加入。 我们将有关编程题目的教学视频已经发布到抖音号21252972100&#xff0c;小马老…

小数加分数怎样计算讲解_2020人教版三年级下册数学知识点汇总带视频讲解,让孩子在学习!...

小学生延期开学&#xff0c;孩子功课不能落下啊&#xff01;帝源教育网课推出1-6年级语文数学英语教材同步讲解视频&#xff0c;让孩子在假期也能提早预习课文知识&#xff01;手机用户访问&#xff1a;m.46344.com 即可观看学习哦&#xff01;随着疫情的蔓延&#xff0c;学校…

JUnit基础及第一个单元测试实例(JUnit3.8)

JUnit基础及第一个单元测试实例&#xff08;JUnit3.8&#xff09; 单元测试 单元测试&#xff08;unit testing&#xff09; &#xff0c;是指对软件中的最小可测试单元进行检查和验证。 单元测试不是为了证明您是对的&#xff0c;而是为了证明您没有错误。 单元测试主要是用来…

Scratch青少年编程能力等级测试模拟题(三级)

青少年编程竞赛交流群已成立&#xff08;适合6至18周岁的青少年&#xff09;&#xff0c;公众号后台回复【Scratch】或【Python】&#xff0c;即可进入。如果加入了之前的社群不需要重复加入。 微信后台回复“资料下载”可获取以往学习的材料&#xff08;视频、代码、文档&…

Qt 程序在 Windows 下的发布

「博客搬家」 原地址: CSDN 原发表时间: 2016-06-04本文讨论在 Windows 平台下编译成功的 Qt 程序&#xff0c;如何在未配置 Qt 开发环境的 Windows 平台下独立运行的方法。 经过验证发现&#xff0c;在 Ubuntu 平台下编译成功的程序可在未安装 Qt 开发环境下的 Ubuntu16.04 中…

楷书书法规则_硬笔书法入门学习“三步法”,让练字不再难

生活中&#xff0c;常常有人肯于吃苦,坚持经常练习硬笔书法&#xff0c;但却进步不大&#xff0c;收获甚微。因此&#xff0c;凡有志学好硬笔书法的人&#xff0c;必须掌握一些学习硬笔书法的方法。硬笔书法学习的方法可以采用“三步法”。一、规范入门硬笔一般比较短小灵硬&am…

系统异常设计规范与原则

为什么80%的码农都做不了架构师&#xff1f;>>> 1.系统异常设计的出发点&#xff1a; 良好的异常信息展示&#xff0c;开发运维人员能快速定位问题。响应外部调用异常时&#xff0c;应能明确指明是内部异常还是调用条件不满足导至。响应用户操作异常时&#xff0c;…

陈长沙:学习者参考手册

学习者参考手册 组队学习的核心是“和一群有意思的人在一起学感兴趣的知识的过程&#xff0c;这个过程充满了人与人之间的交流互动&#xff0c;是融入社交属性和学习属性的过程”。作为参与组队学习活动的学习者&#xff0c;一定想了解有关该项活动的各种环节。于是&#xff0…

TC配置文件WCMD.INI详解,只能在ini重修改的配置

有*的项目扩展了功能&#xff0c;有★的项目是只能在INI中修改的配置。 ★Allowed 允许访问哪些驱动器&#xff08;\代表网络邻居&#xff09;。例如写为Allowedcde\&#xff0c;代表仅允许访问C、D、E和网络邻居&#xff0c;其余驱动器无法访问&#xff0c;也不会出现在驱动…

mapgis矢量化怎么打分数_mapgis矢量化的详细工作流程

感觉不错就麻烦评下分哦1、准备光栅文件&#xff0c;启动MAPGIS输入编辑子系统&#xff0c;新建工程、新建控制点、界址点、线层等项目文件&#xff0c;建立界址点文件和线层文件的属性结构&#xff1b;2、采集控制点&#xff0c;记录图幅左下角经纬度&#xff0c;保存项目、工…

AutoFac使用方法总结:Part I

utoFac是.net平台下的IOC容器产品&#xff0c;它可以管理类之间的复杂的依赖关系。在使用方面主要是register和resolve两类操作。 这篇文章用单元测试的形式列举了AutoFac的常用使用方法&#xff1a; 注册部分 使用RegisterType进行注册 [Fact]public void can_resolve_myclass…

canvas烟花锦集

canvas可以实现不同动画效果&#xff0c;本文主要记录几种不同节日烟花效果实现。 原文链接 实现一 效果地址 html <canvas id"canvas"></canvas>css body {background: #000;margin: 0; }canvas {cursor: crosshair;display: block; }js // when animat…

【青少年编程(第29周)】8月份的青少年编程组队学习结营了!

2021年09月05日&#xff08;周日&#xff09;晚20:00我们在青少年编程竞赛交流群开展了第二十九次直播活动。我们直播活动的主要内容如下&#xff1a; 首先&#xff0c;我们奖励了上周测试超过60分的小朋友。 其次&#xff0c;我们一起观看了电子学会等级测试流程的视频。 再…

led伏安特性实验误差分析_检测实验室误差分析知识汇编

2019-12-20 09:56:10 来源: 检测实验室误差分析知识汇编-检测家第一部分 误差理论简介在日常检测工作中&#xff0c;我们虽然有最好的检验方法、有检定合格的仪器设备、有满足检验要求的环境条件和熟悉检验工作的操作人员&#xff0c;但是&#xff0c;得到的检验结果却往往不可…

从Qcheck 1.3 不能在不同操作系统上运行问题(chro124、chro342)说开来------

【本文重在技巧学习&#xff0c;授人以鱼&#xff0c;不如授人以渔&#xff01;&#xff01;&#xff01;】 因为公司项目需要对带宽占用进行测试&#xff0c; 最近看电子工业出版社《网络管理工具使用详解》就qcheck 1.3 不能在不同的操作系统之间运行做一个总结。 本文以标题…

Spark笔试

1.Spark 的四大组件下面哪个不是 (D ) A.Spark Streaming B Mlib C Graphx D Spark R 2.下面哪个端口不是 spark 自带服务的端口 (C ) A.8080 B.4040 C.8090 D.18080 3.spark 1.4 版本的最大变化 (B ) A spark sql Release 版本 B 引入 Spark R C DataFrame D支持动态资源…

秦州:西瓜书 + 南瓜书 吃瓜系列 10. 集成学习(下)

Datawhale南瓜书是经典机器学习教材《机器学习》&#xff08;西瓜书&#xff09;的公式推导解析指南&#xff0c;旨在让在学习西瓜书的过程中&#xff0c;再也没有难推的公式&#xff0c;学好机器学习。 航路开辟者&#xff1a;谢文睿、秦州开源内容&#xff1a;https://githu…

iar定义arm版本_IAR Systems发布 IAR Embedded Workbench for ARM新版本

IAR Systems发布IAR Embedded Workbench for ARM嵌入式开发平台最新版本V5.41。相比于之前的版本&#xff0c;新版本软件在支持Cortex-M0上&#xff0c;将代码大小和执行速度这两个重要性能都提高了13%。本文引用地址&#xff1a;http://www.eepw.com.cn/article/106054.htmNXP…