环境介绍:os:rhel 5.8 db:10.2.0.5
数据库以外被停了
Errors in file /u01/app/oracle/admin/asm10g/bdump/asm10g_ckpt_9203.trc: ORA-00206: error in writing (block 3, # blocks 1) of control file ORA-00202: control file: '+DATA/asm10g/controlfile/current.260.826785429' ORA-15078: ASM diskgroup was forcibly dismounted Mon Sep 30 01:45:25 CST 2013 Errors in file /u01/app/oracle/admin/asm10g/bdump/asm10g_ckpt_9203.trc: ORA-00221: error on write to control file ORA-00206: error in writing (block 3, # blocks 1) of control file ORA-00202: control file: '+DATA/asm10g/controlfile/current.260.826785429' ORA-15078: ASM diskgroup was forcibly dismounted Mon Sep 30 01:45:25 CST 2013 CKPT: terminating instance due to error 221 Instance terminated by CKPT, pid = 9203
查看asm实例的实例发现如下的信息
NOTE: assigning ARB0 to group 2/0xb3f85b88 (DATA) Mon Sep 30 01:45:21 CST 2013 WARNING: cache read a corrupted block gn=2 dsk=1 blk=2 from disk 1 NOTE: a corrupted block was dumped to the trace file ERROR: cache failed to read dsk=1 blk=2 from disk(s): 1 ORA-15196: invalid ASM block header [kfc.c:8281] [check_kfbh] [2147483649] [2] [2162363223 != 2162394711] System State dumped to trace file /u01/app/oracle/admin/+ASM/bdump/+asm_arb0_9255.trc NOTE: cache initiating offline of disk 1 group 2 WARNING: process 9255 initiating offline of disk 1.3915950986 (DATA_0001) with mask 0x3 in group 2 WARNING: Disk 1 in group 2 in mode: 0x7,state: 0x2 will be taken offline NOTE: PST update: grp = 2, dsk = 1, mode = 0x6
通过上面的值可以发现在读取disk 1,block 为2时发现check kfbh时发现值不一样。
通过trace出来的文件可以发现下面的信息
/u01/app/oracle/admin/+ASM/bdump/+asm_arb0_9255.trc Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - 64bit Production With the Partitioning, OLAP, Data Mining and Real Application Testing options ORACLE_HOME = /u01/app/oracle/product/10.2.0/db System name: Linux Node name: asm10g Release: 2.6.18-308.el5 Version: #1 SMP Fri Jan 27 17:17:51 EST 2012 Machine: x86_64 Instance name: +ASM Redo thread mounted by this instance: 0 <none> Oracle process number: 13 Unix process pid: 9255, image: oracle@asm10g (ARB0) *** SERVICE NAME:() 2013-09-30 01:45:21.569 *** SESSION ID:(38.5) 2013-09-30 01:45:21.569 ARB0 relocating file +DATA.1.1 (1 entries) *** 2013-09-30 01:45:21.576 WARNING: cache read a corrupted block gn=2 dsk=1 blk=2 from disk 1 OSM metadata block dump: kfbh.endian: 1 ; 0x000: 0x01 kfbh.hard: 130 ; 0x001: 0x82 kfbh.type: 3 ; 0x002: KFBTYP_ALLOCTBL kfbh.datfmt: 1 ; 0x003: 0x01 kfbh.block.blk: 2 ; 0x004: T=0 NUMB=0x2 kfbh.block.obj: 2147483649 ; 0x008: TYPE=0x8 NUMB=0x1 kfbh.check: 2162363223 ; 0x00c: 0x80e30b57 kfbh.fcn.base: 1412 ; 0x010: 0x00000584 kfbh.fcn.wrap: 0 ; 0x014: 0x00000000 kfbh.spare1: 0 ; 0x018: 0x00000000 kfbh.spare2: 0 ; 0x01c: 0x00000000 kfdatb.aunum: 0 ; 0x000: 0x00000000
可以发现当前check不正确,修改check值,这些使用的bbed来修改
BBED> show all FILE# 0 BLOCK# 17 OFFSET 0 DBA 0x00000000 (0 0,17) FILENAME /dev/mapper/asm2 BIFILE bifile.bbd LISTFILE BLOCKSIZE 512 MODE Edit EDIT Unrecoverable IBASE Dec OBASE Dec WIDTH 80 COUNT 512 LOGFILE log.bbd SPOOL No BBED> map File: /dev/mapper/asm2 (0) Block: 17 Dba:0x00000000 ------------------------------------------------------------ Undo Segment Header struct kcbh, 20 bytes @0 struct ktect, 44 bytes @20 struct ktetb[8388610], 67108880 bytes @64 struct ktuxc, 104 bytes @468 struct ktuxe[0], 0 bytes @572 ub4 tailchk @508 BBED> print kcbh struct kcbh, 20 bytes @0 ub1 type_kcbh @0 0x01 ub1 frmt_kcbh @1 0x82 ub1 spare1_kcbh @2 0x03 ub1 spare2_kcbh @3 0x01 ub4 rdba_kcbh @4 0x00000002 ub4 bas_kcbh @8 0x80000001 ub2 wrp_kcbh @12 0x0b57 ub1 seq_kcbh @14 0xe3 ub1 flg_kcbh @15 0x80 (NONE) ub2 chkval_kcbh @16 0x0584 ub2 spare3_kcbh @18 0x0000 BBED> dump File: /dev/mapper/asm2 (0) Block: 17 Offsets: 0 to 511 Dba:0x00000000 ------------------------------------------------------------------------ 01820301 02000000 01000080 570be380 84050000 00000000 00000000 00000000 00000000 c0010000 08000800 0000c001 10001000 00000000 18001800 00000000 20002000 00000000 00000000 00008000 00000000 00008000 00000000 02008000 00000000 03008000 02000000 03008000 03000000 03008000 05000000 03008000 06000000 03008000 08000000 03008000 09000000 03008000 0b000000 03008000 0c000000 03008000 0e000000 03008000 0f000000 03008000 11000000 03008000 12000000 03008000 14000000 03008000 15000000 03008000 17000000 03008000 18000000 03008000 1a000000 03008000 1b000000 03008000 1d000000 03008000 1e000000 03008000 20000000 03008000 21000000 03008000 23000000 03008000 24000000 03008000 26000000 03008000 27000000 03008000 29000000 03008000 00000000 04008000 00000000 05008000 00000000 06008000 01000000 01008000 00000000 00018000 02000000 00018000 03000000 00018000 05000000 00018000 06000000 00018000 08000000 00018000 09000000 00018000 0b000000 00018000 0c000000 00018000 0e000000 00018000 0f000000 00018000 11000000 00018000 12000000 00018000 14000000 00018000 15000000 00018000 17000000 00018000 18000000 00018000 1a000000 00018000 1b000000 00018000 1d000000 00018000 80E38657 BBED> modify /x 5786 offset 12 File: /dev/mapper/asm2 (0) Block: 17 Offsets: 12 to 511 Dba:0x00000000 ------------------------------------------------------------------------ 5786e380 84050000 00000000 00000000 00000000 00000000 c0010000 08000800 0000c001 10001000 00000000 18001800 00000000 20002000 00000000 00000000 00008000 00000000 00008000 00000000 02008000 00000000 03008000 02000000 03008000 03000000 03008000 05000000 03008000 06000000 03008000 08000000 03008000 09000000 03008000 0b000000 03008000 0c000000 03008000 0e000000 03008000 0f000000 03008000 11000000 03008000 12000000 03008000 14000000 BBED> sum apply Check value for File 0, Block 17: current = 0x0584, required = 0x0584
手动mount磁盘组
SQL> alter diskgroup data mount; Diskgroup altered. SUCCESS: diskgroup DATA was mounted Mon Sep 30 02:01:12 CST 2013 NOTE: recovering COD for group 2/0xf8685b9d (DATA) SUCCESS: completed COD recovery for group 2/0xf8685b9d (DATA) Mon Sep 30 02:01:12 CST 2013 NOTE: starting rebalance of group 2/0xf8685b9d (DATA) at power 1 Starting background process ARB0 ARB0 started with pid=12, OS id=9313 Mon Sep 30 02:01:12 CST 2013 NOTE: assigning ARB0 to group 2/0xf8685b9d (DATA) NOTE: stopping process ARB0 Mon Sep 30 02:01:18 CST 2013 SUCCESS: rebalance completed for group 2/0xf8685b9d (DATA) Mon Sep 30 02:01:18 CST 2013 SUCCESS: rebalance completed for group 2/0xf8685b9d (DATA) NOTE: PST update: grp = 2 NOTE: PST update: grp = 2
已经看到pst的信息已经更新完成。
asm实例报ORA-15196: invalid ASM block header [kfc.c:8281] [check_kfbh] [2147483649] [2] [2162363223 != 2162394711]:等您坐沙发呢!