Repair of oracle11gASM Disk Head damage (asm repair 2)

Source: Internet
Author: User

Repair of oracle11gASM Disk Head damage (asm repair 2)
-- Compile KFED
[Oracle @ rac2 lib] $ cd $ ORACLE_HOME/rdbms/lib
[Oracle @ rac2 lib] $ pwd
/U01/app/oracle/product/10.2.0/db_1/rdbms/lib
[Oracle @ rac2 lib] $ make-f ins_rdbms.mk ikfed

[Oracle @ rac1 ~] $ Kfed read/dev/oracleasm/disks/VOL1
Kfbh. endian: 1; 0x000: 0x01
Kfbh. hard: 130; 0x001: 0x82
Kfbh. type: 1; 0x002: KFBTYP_DISKHEAD -- the disk header is always KFBTYP_DISKHEAD.
Kfbh. datfmt: 1; 0x003: 0x01
Kfbh. block. blk: 0; 0x004: T = 0 NUMB = 0x0
Kfbh. block. obj: 2147483648; 0x008: TYPE = 0x8 NUMB = 0x0
Kfbh. check: 1464188596; 0x00c: 0x5745beb4
Kfbh. fcn. base: 0; 0x10: 0x00000000
Kfbh. fcn. wrap: 0; 0x014: 0x00000000
Kfbh. spare1: 0; 0x018: 0x00000000
Kfbh. spare2: 0; 0x01c: 0x00000000
Kfdhdb. driver. provstr: ORCLDISKVOL1; 0x000: length = 12
Kfdhdb. driver. reserved [0]: 827084630; 0x008: 0x314c4f56
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
Kfdhdb. driver. reserved [5]: 0; 0x01c: 0x00000000
Kfdhdb. compat: 186646528; 0x020: 0x0b200000
Kfdhdb. dsknum: 0; 0x024: 0x0000
Kfdhdb. grptyp: 1; 0x026: KFDGTP_EXTERNAL
Kfdhdb. hdrsts: 3; 0x027: KFDHDR_MEMBER
Kfdhdb. dskname: VOL1; 0x028: length = 4
Kfdhdb. kgname: ASMDG; 0x048: length = 5
Kfdhdb. fgname: VOL1; 0x068: length = 4
Kfdhdb. capname:; 0x088: length = 0
Kfdhdb. crestmp. hi: 33003570; 0x0a8: HOUR = 0x12 DAYS = 0x1 MNTH = 0x6 YEAR = 0x7de
Kfdhdb. crestmp. lo: 3991771136; 0x0ac: USEC = 0x0 MSEC = 0x366 SECS = 0x1e MINS = 0x3b
Kfdhdb. mntstmp. hi: 33005233; 0x0b0: HOUR = 0x11 DAYS = 0x15 MNTH = 0x7 YEAR = 0x7de
Kfdhdb. mntstmp. lo: 3079015424; 0x0b4: USEC = 0x0 MSEC = 0x183 SECS = 0x38 MINS = 0x2d
Kfdhdb. secsize: 512; 0x0b8: 0x0200
Kfdhdb. blksize: 4096; 0x0ba: 0x1000
Kfdhdb. ausize: 1048576; 0x0bc: 0x00100000
Kfdhdb. mfact: 113792; 0x0c0: 0x0001bc80
Kfdhdb. dsksize: 10236; 0x0c4: 0x000027fc -- number of AU contained in the disk. Kfdhdb. ausize * dsksize_kfdhdb = disk size
Kfdhdb. pmcnt: 2; 0x0c8: 0x00000002 -- physical address space of AU.
Kfdhdb. fstlocn: 1; 0x0cc: 0x00000001 -- after the first AU
Kfdhdb. altlocn: 2; 0x0d0: 0x00000002 -- indicates that the file directory has been
Kfdhdb. f1b1locn: 2; 0x0d4: 0x00000002
Kfdhdb. redomirrors [0]: 0; 0x0d8: 0x0000
Kfdhdb. redomirrors [1]: 0; 0x0da: 0x0000
Kfdhdb. redomirrors [2]: 0; 0x0dc: 0x0000
Kfdhdb. redomirrors [3]: 0; 0x0de: 0x0000
Kfdhdb. dbcompat: 168820736; 0x0e0: 0x0a100000
Kfdhdb. kgstmp. hi: 33003570; 0x0e4: HOUR = 0x12 DAYS = 0x1 MNTH = 0x6 YEAR = 0x7de
Kfdhdb. kgstmp. lo: 3991513088; 0x0e8: USEC = 0x0 MSEC = 0x26a SECS = 0x1e MINS = 0x3b
Kfdhdb. vfstart: 0; 0x0ec: 0x00000000
Kfdhdb. vfend: 0; 0x0f0: 0x00000000
Kfdhdb. spfile: 33; 0x0f4: 0x00000021
Kfdhdb. spfflg: 1; 0x0f8: 0x00000001
Kfdhdb. ub4spare [0]: 0; 0x0fc: 0x00000000
Kfdhdb. ub4spare [1]: 0; 0x100: 0x00000000
Kfdhdb. ub4spare [2]: 0; 0x104: 0x00000000
Kfdhdb. ub4spare [2]: 0; 0x108: 0x00000000
Kfdhdb. ub4spare [4]: 0; 0x10c: 0x00000000
Kfdhdb. ub4spare [5]: 0; 0x110: 0x00000000
Kfdhdb. ub4spare [6]: 0; 0x114: 0x00000000
Kfdhdb. ub4spare [7]: 0; 0x118: 0x00000000
Kfdhdb. ub4spare [8]: 0; 0x11c: 0x00000000
Kfdhdb. ub4spare [9]: 0; 0x120: 0x00000000
Kfdhdb. ub4spare [10]: 0; 0x124: 0x00000000
Kfdhdb. ub4spare [11]: 0; 0x128: 0x00000000
Kfdhdb. ub4spare [12]: 0; 0x12c: 0x00000000
Kfdhdb. ub4spare [13]: 0; 0x130: 0x00000000
Kfdhdb. ub4spare [14]: 0; 0x134: 0x00000000
Kfdhdb. ub4spare [15]: 0; 0x138: 0x00000000
Kfdhdb. ub4spare [16]: 0; 0x13c: 0x00000000
Kfdhdb. ub4spare [17]: 0; 0x140: 0x00000000
Kfdhdb. ub4spare [18]: 0; 0x144: 0x00000000
Kfdhdb. ub4spare [19]: 0; 0x148: 0x00000000
Kfdhdb. ub4spare [20]: 0; 0x14c: 0x00000000
Kfdhdb. ub4spare [21]: 0; 0x150: 0x00000000
Kfdhdb. ub4spare [22]: 0; 0x154: 0x00000000
Kfdhdb. ub4spare [23]: 0; 0x158: 0x00000000
Kfdhdb. ub4spare [24]: 0; 0x15c: 0x00000000
Kfdhdb. ub4spare [25]: 0; 0x160: 0x00000000
Kfdhdb. ub4spare [26]: 0; 0x164: 0x00000000
Kfdhdb. ub4spare [27]: 0; 0x168: 0x00000000
Kfdhdb. ub4spare [28]: 0; 0x16c: 0x00000000
Kfdhdb. ub4spare [29]: 0; 0x170: 0x00000000
Kfdhdb. ub4spare [30]: 0; 0x174: 0x00000000
Kfdhdb. ub4spare [31]: 0; 0x178: 0x00000000
Kfdhdb. ub4spare [32]: 0; 0x17c: 0x00000000
Kfdhdb. ub4spare [33]: 0; 0x180: 0x00000000
Kfdhdb. ub4spare [34]: 0; 0x184: 0x00000000
Kfdhdb. ub4spare [35]: 0; 0x188: 0x00000000
Kfdhdb. ub4spare [36]: 0; 0x18c: 0x00000000
Kfdhdb. ub4spare [37]: 0; 0x190: 0x00000000
Kfdhdb. ub4spare [38]: 0; 0x194: 0x00000000
Kfdhdb. ub4spare [39]: 0; 0x198: 0x00000000
Kfdhdb. ub4spare [40]: 0; 0x19c: 0x00000000
Kfdhdb. ub4spare [41]: 0; 0x1a0: 0x00000000
Kfdhdb. ub4spare [42]: 0; 0x1a4: 0x00000000
Kfdhdb. ub4spare [43]: 0; 0x1a8: 0x00000000
Kfdhdb. ub4spare [44]: 0; 0x1 AC: 0x00000000
Kfdhdb. ub4spare [45]: 0; 0x1b0: 0x00000000
Kfdhdb. ub4spare [46]: 0; 0x1b4: 0x00000000
Kfdhdb. ub4spare [47]: 0; 0x1b8: 0x00000000
Kfdhdb. ub4spare [48]: 0; 0x1bc: 0x00000000
Kfdhdb. ub4spare [49]: 0; 0x1c0: 0x00000000
Kfdhdb. ub4spare [50]: 0; 0x1c4: 0x00000000
Kfdhdb. ub4spare [51]: 0; 0x1c8: 0x00000000
Kfdhdb. ub4spare [52]: 0; 0x1cc: 0x00000000
Kfdhdb. ub4spare [53]: 0; 0x1d0: 0x00000000
Kfdhdb. acdb. aba. seq: 0; 0x1d4: 0x00000000
Kfdhdb. acdb. aba. blk: 0; 0x1d8: 0x00000000
Kfdhdb. acdb. ents: 0; 0x1 DC: 0x0000
Kfdhdb. acdb. ub2spare: 0; 0x1de: 0x0000
-- How can I replace these items on the Internet...
[Oracle @ rac1 ~] $ Kfed read/dev/oracleasm/disks/VOL1> vol1.header
[Oracle @ rac1 ~] $ Kfed read/dev/oracleasm/disks/VOL2> vol2.header
[Oracle @ rac1 ~] $ Diff vol1.header vol2.header
6, 7c6, 7
<Kfbh. block. obj: 2147483648; 0x008: TYPE = 0x8 NUMB = 0x0
<Kfbh. check: 1464188596; 0x00c: 0x5745beb4
---
& Gt; kfbh. block. obj: 2147483649; 0x008: TYPE = 0x8 NUMB = 0x1
> Kfbh. check: 1413856918; 0x00c: 0x5445be96
12, 13c12, 13
<Kfdhdb. driver. provstr: ORCLDISKVOL1; 0x000: length = 12
<Kfdhdb. driver. reserved [0]: 827084630; 0x008: 0x314c4f56
---
> Kfdhdb. driver. provstr: ORCLDISKVOL2; 0x000: length = 12
> Kfdhdb. driver. reserved [0]: 843861846; 0x008: 0x324c4f56
20c20
<Kfdhdb. dsknum: 0; 0x024: 0x0000
---
> Kfdhdb. dsknum: 1; 0x024: 0x0001
23c23
<Kfdhdb. dskname: VOL1; 0x028: length = 4
---
> Kfdhdb. dskname: VOL2; 0x028: length = 4
25c25
<Kfdhdb. fgname: VOL1; 0x068: length = 4
---
> Kfdhdb. fgname: VOL2; 0x068: length = 4
39c39
<Kfdhdb. f1b1locn: 2; 0x0d4: 0x00000002
---
> Kfdhdb. f1b1locn: 0; 0x0d4: 0x00000000
49, 50c49, 50
<Kfdhdb. spfile: 33; 0x0f4: 0x00000021
<Kfdhdb. spfflg: 1; 0x0f8: 0x00000001
---
> Kfdhdb. spfile: 0; 0x0f4: 0x00000000
> Kfdhdb. spfflg: 0; 0x0f8: 0x00000000
--####################################### ##################################
-- Find the position http://www.xifenfei.com/4071.html for spfile
[Oracle @ rac1 ~] $
[Oracle @ rac1 ~] $ Kfed dev =/dev/oracleasm/disks/VOL2 op = READ | egrep "kfdhdb. sp | ausize"
Kfdhdb. ausize: 1048576; 0x0bc: 0x00100000
Kfdhdb. spfile: 0; 0x0f4: 0x00000000
Kfdhdb. spfflg: 0; 0x0f8: 0x00000000
[Oracle @ rac1 ~] $ Kfed dev =/dev/oracleasm/disks/VOL1 op = READ | egrep "kfdhdb. sp | ausize"
Kfdhdb. ausize: 1048576; 0x0bc: 0x00100000
Kfdhdb. spfile: 33; 0x0f4: 0x00000021
Kfdhdb. spfflg: 1; 0x0f8: 0x00000001

--####################################### ##################################
3. Use kfed repair to modify the damaged asm disk header
Rac1-> kfed repair '/dev/raw/raw1'
Rac1-> kfed read/dev/raw/raw1 blknum = 0
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: T = 0 NUMB = 0x0
Kfbh. block. obj: 2147483648; 0x008: TYPE = 0x8 NUMB = 0x0
Kfbh. check: 883602253; 0x00c: 0x34aab34d
Kfbh. fcn. base: 0; 0x10: 0x00000000
Kfbh. fcn. wrap: 0; 0x014: 0x00000000
Kfbh. spare1: 0; 0x018: 0x00000000
Kfbh. spare2: 0; 0x01c: 0x00000000
--####################################### ##################################
4. Use kfed merge to restore the asm disk header
Rac1-> dd if =/dev/zero of =/dev/raw/raw1 bs = 4096 count = 1
1 + 0 records in
1 + 0 records out
Rac1-> kfed read/dev/raw/raw1 blknum = 0
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: T = 0 NUMB = 0x0
Kfbh. block. obj: 0; 0x008: TYPE = 0x0 NUMB = 0x0
Kfbh. check: 0; 0x00c: 0x00000000
Kfbh. fcn. base: 0; 0x10: 0x00000000
Kfbh. fcn. wrap: 0; 0x014: 0x00000000
Kfbh. spare1: 0; 0x018: 0x00000000
Kfbh. spare2: 0; 0x01c: 0x00000000

Http://www.itpub.net/thread-1597605-1-1.html specific information reference here:

[Oracle @ rac1 ~] $ Kfod disk = all
--------------------------------------------------------------------------------
Disk Size Path User Group
========================================================== ==========================================================
1: 10236 Mb ORCL: VOL1 <unknown>
2: 10236 Mb ORCL: VOL2 <unknown>
--------------------------------------------------------------------------------
ORACLE_SID ORACLE_HOME
========================================================== ==========================================================
+ ASM/orac/orahome/app/11.2.0/grid
[Oracle @ rac1 ~] $

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.