数据库实例日志:
Tue Mar 01 12:18:12 2016
SUCCESS: diskgroup ORADISKGRP1 was dismounted
SUCCESS: diskgroup ORADISKGRP1 was dismounted
Errors in file C:\APP\ORACLE\PRODUCT\11.2.0\diag\rdbms\bflex\bflex1\trace\bflex1_ckpt_6376.trc:
ORA-00206: error in writing (block 3, # blocks 1) of control file
ORA-00202: control file: ‘+ORADISKGRP1/bflex/controlfile/current.287.925642037‘
ORA-15078: ASM diskgroup was forcibly dismounted
ORA-15078: ASM diskgroup was forcibly dismounted
再看asm日志
Tue Mar 01 12:18:12 2016
ASM Health Checker found 1 new failures
Dirty Detach Reconfiguration complete
Tue Nov 01 12:18:12 2016
WARNING: dirty detached from domain 1
NOTE: cache dismounted group 1/0x5DD073B7 (ORADISKGRP1)
SQL> alter diskgroup ORADISKGRP1 dismount force /* ASM SERVER:1573942199 */
Tue Nov 01 12:18:12 2016
NOTE: cache deleting context for group ORADISKGRP1 1/0x5dd073b7
GMON dismounting group 1 at 6 for pid 30, osid 7684
NOTE: Disk ORADISKGRP1_0000 in mode 0x7f marked for de-assignment
NOTE: Disk ORADISKGRP1_0001 in mode 0x7f marked for de-assignment
NOTE: Disk ORADISKGRP1_0002 in mode 0x7f marked for de-assignment
SUCCESS: diskgroup ORADISKGRP1 was dismounted
SUCCESS: alter diskgroup ORADISKGRP1 dismount force /* ASM SERVER:1573942199 */
SUCCESS: ASM-initiated MANDATORY DISMOUNT of group ORADISKGRP1
这里的asm日志很明显由于asm disk无法正常访问,报ORA-27072错误,磁盘组被强制dismount. 一般出现这样故障的原因大多都是人为误操作造成的,比如挂到A机的裸盘被挂至B机,然后被误格式化。
处理办法:
先用kfed恢复磁盘头
C:\Users\Administrator> kfed repair ‘\\.\J:‘C:\Users\Administrator>kfed read ‘\\.\J:‘kfbh.endian:                          1 ; 0x000: 0x01kfbh.hard:                          130 ; 0x001: 0x82kfbh.type:                            1 ; 0x002: KFBTYP_DISKHEADkfbh.datfmt:                          1 ; 0x003: 0x01kfbh.block.blk:                     254 ; 0x004: T=0 NUMB=0xfekfbh.block.obj:              2147483654 ; 0x008: TYPE=0x8 NUMB=0x6kfbh.check:                   717599272 ; 0x00c: 0x2ac5b228kfbh.fcn.base:                        0 ; 0x010: 0x00000000kfbh.fcn.wrap:                        0 ; 0x014: 0x00000000kfbh.spare1:                          0 ; 0x018: 0x00000000kfbh.spare2:                          0 ; 0x01c: 0x00000000kfdhdb.driver.provstr:    ORCLDISKDATA6 ; 0x000: length=13kfdhdb.driver.reserved[0]:   1096040772 ; 0x008: 0x41544144kfdhdb.driver.reserved[1]:           54 ; 0x00c: 0x00000036kfdhdb.driver.reserved[2]:            0 ; 0x010: 0x00000000kfdhdb.driver.reserved[3]:            0 ; 0x014: 0x00000000kfdhdb.driver.reserved[4]:            0 ; 0x018: 0x00000000kfdhdb.driver.reserved[5]:            0 ; 0x01c: 0x00000000使用asmtool  -list查看相关磁盘信息
然后用dbv检测是否有坏块,没有就好办了。幸好asm有备份,用备份恢复即可。
SQL> recover database;完成介质恢复。SQL> alter database open;数据库已更改。本文出自 “滴水穿石孙杰” 博客,转载请与作者联系!
原文地址:http://xjsunjie.blog.51cto.com/999372/1876496