oracle11g ASM磁盘组头部损坏修复(asm修复1)

来源:互联网 发布:烟台彤鑫富汇网络咨询 编辑:程序博客网 时间:2024/05/01 23:39

http://blog.itpub.net/28227905/viewspace-1059782/

oracle 10.2.0.5以后的版本,oracle ASM磁盘组头部使用自动备份机制,可以在磁盘头损坏的情况下,可以使用kfed repair进行修复.

(注意,该方法不适用oracle 10.2.0.4以前版本!)

修复过程如下:

[@more@]

1. 磁盘组头部备份的位置:

AU SIZE =1M 备份块 blkn=510

AU SIZE =2M 备份块 blkn=1022

AU SIZE =4M 备份块 blkn=2046

AU SIZE =8M 备份块 blkn=4094

AU SIZE =16M 备份块 blkn=8190

AU SIZE =32M 备份块 blkn=16382

AU SIZE =64M 备份块 blkn=32766

2. 卸载测试磁盘组TEST

SQL> alter diskgroup test dismount;

Diskgroup altered.

3. TEST磁盘组有2个磁盘

brw-rw---- 1 grid asmadmin 8, 81 Nov 17 10:16 VOL_TEST01

brw-rw---- 1 grid asmadmin 8, 97 Nov 17 10:16 VOL_TEST02

4. 模拟其中一个磁盘损坏

[grid@dbhouse disks]$ kfed read VOL_TEST01|more

kfbh.endian: 1 ; 0x000: 0x01

kfbh.hard: 130 ; 0x001: 0x82

kfbh.type: 1 ; 0x002: KFBTYP_DISKHEAD ###目前是正常的.

……..

kfdhdb.secsize: 512 ; 0x0b8: 0x0200

kfdhdb.blksize: 4096 ; 0x0ba: 0x1000

kfdhdb.ausize: 1048576 ; 0x0bc: 0x00100000 ###AU=1M

………

[grid[grid@dbhouse disks]$ kfed read VOL_TEST01
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
B7EAA200 00000000 00000000 00000000 00000000 [................]
Repeat 255 times
KFED-00322: Invalid content encountered during block traversal: [kfbtTraverseBlock][Invalid OSM block type][][0]

5. 装载TEST磁盘组报错:

SQL> alter diskgroup test mount;

alter diskgroup test mount

*

ERROR at line 1:

ORA-15032: not all alterations performed

ORA-15040: diskgroup is incomplete

ORA-15042: ASM disk "0" is missing from group number "4"

6. 使用kfed repair修复test磁盘头部

根据ASM磁盘组头部备份的位置,进行磁盘组修复.因为我这里事先知道TEST磁盘组的AU=1M,那么磁盘组头部的备份位置就是blkn=510,所以,我这里就可以直接修复磁盘.

[grid@dbhouse disks]$ kfed repair VOL_TEST01

7. 成功装载TEST磁盘组

SQL> alter diskgroup test mount;

Diskgroup altered.


0 0
原创粉丝点击