Network Security Internet Technology Development Database Servers Mobile Phone Android Software Apple Software Computer Software News IT Information

In addition to Weibo, there is also WeChat

Please pay attention

WeChat public account

Shulou

Backup and recovery experiment of Oracle 10g rac+asm disk head

2025-01-16 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Servers >

Share

Shulou(Shulou.com)06/02 Report--

Author:

Paulyibinyi

First, the purpose of the experiment:

We often lose the disk head information of the disk group due to misoperation, such as pvid=yes operation on disk, which can not be normal.

2. Experimental environment:

Operating system: AIX 6.1

Database version: oracle 10.2.0.4 + rac + asm

Database name: test

Instance name: test1, test2

Ip address: (p520) 192.168.3.225 / (p650) 192.168.3.223

Third, the experimental steps:

1. Generate kfed tools and read disk head information:

1) compile kfed and generate kfed tool:

Cd $ORACLE_HOME/rdbms/lib

Cp ins_rdbms.mk ins_rdbms.mk.bak

[make-f ins_rdbms.mk ikfed]

Linking KFED utility (kfed)

Rm-f / oracle/app/oracle/product/10.2.0/clusterdb/rdbms/lib/kfed

Ld-b64-o / oracle/app/oracle/product/10.2.0/clusterdb/rdbms/lib/kfed-

L/oracle/app/oracle/product/10.2.0/clusterdb/rdbms/lib/-

L/oracle/app/oracle/product/10.2.0/clusterdb/lib/-bnoerrmsg

/ oracle/app/oracle/product/10.2.0/clusterdb/lib/s0main.o

/ oracle/app/oracle/product/10.2.0/clusterdb/rdbms/lib/sskfeded.o

/ oracle/app/oracle/product/10.2.0/clusterdb/rdbms/lib/skfedpt.o-bI:/usr/lib/aio.exp

/ oracle/app/oracle/product/10.2.0/clusterdb/rdbms/lib/defopt.o-ldbtools10 `cat

/ oracle/app/oracle/product/10.2.0/clusterdb/lib/ ldbears`-lnsslb10-lncrypt10-lnsgr10-

Lnzjs10-ln10-lnnz10-lnl10-lnro10 `cat

/ oracle/app/oracle/product/10.2.0/clusterdb/lib/ ldbears`-lnsslb10-lncrypt10-lnsgr10-

Lnzjs10-ln10-lnnz10-lnl10-lclient10-lnnetd10-lvsn10-lcommon10-lgeneric10-lmm-

Lsnls10-lnls10-lcore10-lsnls10-lnls10-lcore10-lsnls10-lnls10-lxml10-lcore10-

Lunls10-lsnls10-lnls10-lcore10-lnls10 `cat

Lnzjs10-ln10-lnnz10-lnl10-lnro10 `cat

Lnzjs10-ln10-lnnz10-lnl10-lclient10-lnnetd10-lvsn10-lcommon10-lgeneric10-lpls10

Lsnls10-lnls10-lcore10-lsnls10-lnls10-lcore10-lsnls10-lnls10-lxml10-lcore10-

Lunls10-lsnls10-lnls10-lcore10-lnls10-lclient10-lnnetd10-lvsn10-lcommon10-

Lgeneric10-lsnls10-lnls10-lcore10-lsnls10-lnls10-lcore10-lsnls10-lnls10-lxml10

/ oracle/app/oracle/product/10.2.0/clusterdb/lib/ sysliblist`-lm `if ["`/ usr/bin/uname-

V` "=" 4 "]

Then echo "- bI:/oracle/app/oracle/product/10.2.0/clusterdb/lib/pw-syscall.exp"; fi; `

-lsql10 / oracle/app/oracle/product/10.2.0/clusterdb/lib/nautab.o

/ oracle/app/oracle/product/10.2.0/clusterdb/lib/naeet.o

/ oracle/app/oracle/product/10.2.0/clusterdb/lib/naect.o

/ oracle/app/oracle/product/10.2.0/clusterdb/lib/naedhs.o

Mv-f / oracle/app/oracle/product/10.2.0/clusterdb/bin/kfed

/ oracle/app/oracle/product/10.2.0/clusterdb/bin/kfedO

Mv / oracle/app/oracle/product/10.2.0/clusterdb/rdbms/lib/kfed

/ oracle/app/oracle/product/10.2.0/clusterdb/bin/kfed

Chmod 751 / oracle/app/oracle/product/10.2.0/clusterdb/bin/kfed

2) View the disk information under the disk group:

[oracle@p520:/] $sqlplus / as sysdba

SQL*Plus: Release 10.2.0.1.0-Production on Thu May 27 10:19:10 2010

Copyright (c) 1982, 2005, Oracle. All rights reserved.

Connected to:

Oracle Database 10g Enterprise Edition Release 10.2.0.1.0-64bit Production

With the Partitioning, Real Application Clusters, OLAP and Data Mining options

SQL > col name format A30

SQL > col path format A30

SQL > select name,path from v$asm_disk

NAME PATH

-

DATA_0000 / dev/rhdisk5

DATA_0001 / dev/rhdisk3

SQL > select name, state from v$asm_diskgroup

NAME STATE

DATA MOUNTED

SQL > /

NAME PATH HEADER_STATUS

-

DATA_0000 / dev/rhdisk5 MEMBER

DATA_0001 / dev/rhdisk3 MEMBER

3) use kfed tool to read disk head information:

For example, read the hdisk5 disk header information under disk group data.

[oracle@p520:/] $kfed read / dev/rhdisk5

Kfbh.endian: 0; 0x000: 0x00

Kfbh.hard: 130,130; 0x001: 0x82

Kfbh.type: 1; 0x002: KFBTYP_DISKHEAD

Kfbh.datfmt: 1; 0x003: 0x01

Kfbh.block.blk: 0; 0x004: titled 0 NUMB=0x0

Kfbh.block.obj: 2147483648; 0x008: TYPE=0x8 NUMB=0x0

Kfbh.check: 257017006; 0x00c: 0x0f51c4ae

Kfbh.fcn.base: 578; 0x010: 0x00000242

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

Kfdhdb.driver.reserved [5]: 0; 0x01c: 0x00000000

Kfdhdb.compat: 168820736; 0x020: 0x0a100000

Kfdhdb.dsknum: 0; 0x024: 0x0000

Kfdhdb.grptyp: 1; 0x026: KFDGTP_EXTERNAL

Kfdhdb.hdrsts: 3; 0x027: KFDHDR_MEMBER

Kfdhdb.dskname: DATA_0000; 0x028: length=9

Kfdhdb.grpname: DATA; 0x048: length=4

Kfdhdb.fgname: DATA_0000; 0x068: length=9

Kfdhdb.capname:; 0x088: length=0

Kfdhdb.crestmp.hi: 32937833; 0x0a8: HOUR=0x9 DAYS=0x1b MNTH=0x5 YEAR=0x7da

Kfdhdb.crestmp.lo: 1704514560; 0x0ac: USEC=0x0 MSEC=0x235 SECS=0x19 MINS=0x19

Kfdhdb.mntstmp.hi: 32937834; 0x0b0: HOUR=0xa DAYS=0x1b MNTH=0x5 YEAR=0x7da

Kfdhdb.mntstmp.lo: 679906304; 0x0b4: USEC=0x0 MSEC=0x1a3 SECS=0x8 MINS=0xa

Kfdhdb.secsize: 512; 0x0b8: 0x0200

Kfdhdb.blksize: 4096; 0x0ba: 0x1000

Kfdhdb.ausize: 1048576; 0x0bc: 0x00100000

Kfdhdb.mfact: 113792; 0x0c0: 0x0001bc80

Kfdhdb.dsksize: 51200; 0x0c4: 0x0000c800

Kfdhdb.pmcnt: 2; 0x0c8: 0x00000002

Kfdhdb.fstlocn: 1; 0x0cc: 0x00000001

Kfdhdb.altlocn: 2; 0x0d0: 0x00000002

Kfdhdb.f1b1locn: 2; 0x0d4: 0x00000002

Kfdhdb.redomirrors [0]: 0; 0x0d8: 0x0000

Kfdhdb.redomirrors [1]: 65535; 0x0da: 0xffff

Kfdhdb.redomirrors [2]: 65535; 0x0dc: 0xffff

Kfdhdb.redomirrors [3]: 65535; 0x0de: 0xffff

Kfdhdb.dbcompat: 168820736; 0x0e0: 0x0a100000

Kfdhdb.grpstmp.hi: 32937833; 0x0e4: HOUR=0x9 DAYS=0x1b MNTH=0x5 YEAR=0x7da

Kfdhdb.grpstmp.lo: 1704339456; 0x0e8: USEC=0x0 MSEC=0x18a SECS=0x19 MINS=0x19

Kfdhdb.ub4spare [0]: 0; 0x0ec: 0x00000000

Kfdhdb.ub4spare [1]: 0; 0x0f0: 0x00000000

Kfdhdb.ub4spare [2]: 0; 0x0f4: 0x00000000

Kfdhdb.ub4spare [3]: 0; 0x0f8: 0x00000000

Kfdhdb.ub4spare [4]: 0; 0x0fc: 0x00000000

Kfdhdb.ub4spare [5]: 0; 0x100: 0x00000000

Kfdhdb.ub4spare [6]: 0; 0x104: 0x00000000

Kfdhdb.ub4spare [7]: 0; 0x108: 0x00000000

Kfdhdb.ub4spare [8]: 0; 0x10c: 0x00000000

Kfdhdb.ub4spare [9]: 0; 0x110: 0x00000000

Kfdhdb.ub4spare [10]: 0; 0x114: 0x00000000

Kfdhdb.ub4spare [11]: 0; 0x118: 0x00000000

Kfdhdb.ub4spare [12]: 0; 0x11c: 0x00000000

Kfdhdb.ub4spare [13]: 0; 0x120: 0x00000000

Kfdhdb.ub4spare [14]: 0; 0x124: 0x00000000

Kfdhdb.ub4spare [15]: 0; 0x128: 0x00000000

Kfdhdb.ub4spare [16]: 0; 0x12c: 0x00000000

Kfdhdb.ub4spare [17]: 0; 0x130: 0x00000000

Kfdhdb.ub4spare [18]: 0; 0x134: 0x00000000

Kfdhdb.ub4spare [19]: 0; 0x138: 0x00000000

Kfdhdb.ub4spare [20]: 0; 0x13c: 0x00000000

Kfdhdb.ub4spare [21]: 0; 0x140: 0x00000000

Kfdhdb.ub4spare [22]: 0; 0x144: 0x00000000

Kfdhdb.ub4spare [23]: 0; 0x148: 0x00000000

Kfdhdb.ub4spare [24]: 0; 0x14c: 0x00000000

Kfdhdb.ub4spare [25]: 0; 0x150: 0x00000000

Kfdhdb.ub4spare [26]: 0; 0x154: 0x00000000

Kfdhdb.ub4spare [27]: 0; 0x158: 0x00000000

Kfdhdb.ub4spare [28]: 0; 0x15c: 0x00000000

Kfdhdb.ub4spare [29]: 0; 0x160: 0x00000000

Kfdhdb.ub4spare [30]: 0; 0x164: 0x00000000

Kfdhdb.ub4spare [31]: 0; 0x168: 0x00000000

Kfdhdb.ub4spare [32]: 0; 0x16c: 0x00000000

Kfdhdb.ub4spare [33]: 0; 0x170: 0x00000000

Kfdhdb.ub4spare [34]: 0; 0x174: 0x00000000

Kfdhdb.ub4spare [35]: 0; 0x178: 0x00000000

Kfdhdb.ub4spare [36]: 0; 0x17c: 0x00000000

Kfdhdb.ub4spare [37]: 0; 0x180: 0x00000000

Kfdhdb.ub4spare [38]: 0; 0x184: 0x00000000

Kfdhdb.ub4spare [39]: 0; 0x188: 0x00000000

Kfdhdb.ub4spare [40]: 0; 0x18c: 0x00000000

Kfdhdb.ub4spare [41]: 0; 0x190: 0x00000000

Kfdhdb.ub4spare [42]: 0; 0x194: 0x00000000

Kfdhdb.ub4spare [43]: 0; 0x198: 0x00000000

Kfdhdb.ub4spare [44]: 0; 0x19c: 0x00000000

Kfdhdb.ub4spare [45]: 0; 0x1a0: 0x00000000

Kfdhdb.ub4spare [46]: 0; 0x1a4: 0x00000000

Kfdhdb.ub4spare [47]: 0; 0x1a8: 0x00000000

Kfdhdb.ub4spare [48]: 0; 0x1ac: 0x00000000

Kfdhdb.ub4spare [49]: 0; 0x1b0: 0x00000000

Kfdhdb.ub4spare [50]: 0; 0x1b4: 0x00000000

Kfdhdb.ub4spare [51]: 0; 0x1b8: 0x00000000

Kfdhdb.ub4spare [52]: 0; 0x1bc: 0x00000000

Kfdhdb.ub4spare [53]: 0; 0x1c0: 0x00000000

Kfdhdb.ub4spare [54]: 0; 0x1c4: 0x00000000

Kfdhdb.ub4spare [55]: 0; 0x1c8: 0x00000000

Kfdhdb.ub4spare [56]: 0; 0x1cc: 0x00000000

Kfdhdb.ub4spare [57]: 0; 0x1d0: 0x00000000

Kfdhdb.acdb.aba.seq: 0; 0x1d4: 0x00000000

Kfdhdb.acdb.aba.blk: 0; 0x1d8: 0x00000000

Kfdhdb.acdb.ents: 0; 0x1dc: 0x0000

Kfdhdb.acdb.ub2spare: 0; 0x1de: 0x0000

From the above reading, we can get the following information:

Dsknum: disk number

Grptyp: type EXTERNAL REDUNDANCY to which the disk belongs

The main types of disks are:

NORMAL REDUNDANCY-Two-way mirroring, requiring two failure groups.

HIGH REDUNDANCY-Three-way mirroring, requiring three failure groups.

EXTERNAL REDUNDANCY-No mirroring for disks that are already protected using hardware

Mirroring or RAID.

Ddrsts: disk head statu

Dskname: disk name in asm

Grpname: disk group name

Fgname:failure group name

Crestmp.hi:asm disk group creation time

Mntstmp.hi:asm disk group mount time

Blksize: disk head block size 4096

Ausize: striped size defaults to 1m

Dsksize: disk siz

F1b1locn:File Directory blk 1 AU num

Beginging for file directory

2. The disk head can be restored using dd backup:

1) back up with dd:

Because the disk head information only takes up the first 4k content, we can use dd to back up only the first 4k content:

[oracle@p520:/] $dd if=/dev/rhdisk5 f=/oracle/hdisk5header bs=4096 count=1

1: 0 records in.

1: 0 records out.

[oracle@p520:/] $dd if=/dev/rhdisk3 f=/oracle/hdisk3header bs=4096 count=1

1: 0 records in.

1: 0 records out.

2) restore using dd:

Dd destroys hdisk5 disk head information

[oracle@p520:/oracle] $dd if=/dev/zero f=/dev/rhdisk5 bs=4096 count=1

1: 0 records in.

1: 0 records out.

The damaged disk head information is as follows:

[oracle@p520:/oracle] $kfed read / dev/rhdisk5

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: titled 0 NUMB=0x0

Kfbh.block.obj: 0; 0x008: TYPE=0x0 NUMB=0x0

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

As you can see, the information related to the disk head is lost.

Asm instance launches the following error message:

SQL > startup

ASM instance started

Total System Global Area 130023424 bytes

Fixed Size 2019136 bytes

Variable Size 102838464 bytes

ASM Cache 25165824 bytes

ORA-15032: not all alterations performed

ORA-15063: ASM discovered an insufficient number of disks for diskgroup "DATA"

SQL > select name,state from v$asm_diskgroup

NAME STATE

--

DATA DISMOUNTED

SQL > alter diskgroup data mount

Alter diskgroup data mount

*

ERROR at line 1:

ORA-15032: not all alterations performed

ORA-15063: ASM discovered an insufficient number of disks for diskgroup "DATA"

The following is recorded in the Asm instance log:

Thu May 27 11:00:03 2010

ERROR: no PST quorum in group 1: required 1, found 0

Thu May 27 11:00:03 2010

NOTE: cache dismounting group 1/0x1E9B7FD5 (DATA)

NOTE: dbwr not being msg'd to dismount

ERROR: diskgroup DATA was not mounted

Restore using dd:

[oracle@p520:/oracle] $dd if=/oracle/hdisk5header f=/dev/rhdisk5 bs=4096 count=1

1: 0 records in.

1: 0 records out.

At this point, the disk head information can be read normally:

[oracle@p520:/oracle] $kfed read / dev/rhdisk5

Kfbh.endian: 0; 0x000: 0x00

Kfbh.hard: 130,130; 0x001: 0x82

Kfbh.type: 1; 0x002: KFBTYP_DISKHEAD

Kfbh.datfmt: 1; 0x003: 0x01

Kfbh.block.blk: 0; 0x004: titled 0 NUMB=0x0

Kfbh.block.obj: 2147483648; 0x008: TYPE=0x8 NUMB=0x0

Kfbh.check: 257017006; 0x00c: 0x0f51c4ae

Kfbh.fcn.base: 578; 0x010: 0x00000242

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

Kfdhdb.driver.reserved [5]: 0; 0x01c: 0x00000000

Kfdhdb.compat: 168820736; 0x020: 0x0a100000

Kfdhdb.dsknum: 0; 0x024: 0x0000

Kfdhdb.grptyp: 1; 0x026: KFDGTP_EXTERNAL

Kfdhdb.hdrsts: 3; 0x027: KFDHDR_MEMBER

Kfdhdb.dskname: DATA_0000; 0x028: length=9

Kfdhdb.grpname: DATA; 0x048: length=4

Kfdhdb.fgname: DATA_0000; 0x068: length=9

Kfdhdb.capname:; 0x088: length=0

Kfdhdb.crestmp.hi: 32937833; 0x0a8: HOUR=0x9 DAYS=0x1b MNTH=0x5 YEAR=0x7da

Kfdhdb.crestmp.lo: 1704514560; 0x0ac: USEC=0x0 MSEC=0x235 SECS=0x19 MINS=0x19

Kfdhdb.mntstmp.hi: 32937834; 0x0b0: HOUR=0xa DAYS=0x1b MNTH=0x5 YEAR=0x7da

Kfdhdb.mntstmp.lo: 679906304; 0x0b4: USEC=0x0 MSEC=0x1a3 SECS=0x8 MINS=0xa

Kfdhdb.secsize: 512; 0x0b8: 0x0200

Kfdhdb.blksize: 4096; 0x0ba: 0x1000

Kfdhdb.ausize: 1048576; 0x0bc: 0x00100000

Kfdhdb.mfact: 113792; 0x0c0: 0x0001bc80

Kfdhdb.dsksize: 51200; 0x0c4: 0x0000c800

Kfdhdb.pmcnt: 2; 0x0c8: 0x00000002

Kfdhdb.fstlocn: 1; 0x0cc: 0x00000001

Kfdhdb.altlocn: 2; 0x0d0: 0x00000002

Kfdhdb.f1b1locn: 2; 0x0d4: 0x00000002

Kfdhdb.redomirrors [0]: 0; 0x0d8: 0x0000

Kfdhdb.redomirrors [1]: 65535; 0x0da: 0xffff

Kfdhdb.redomirrors [2]: 65535; 0x0dc: 0xffff

Kfdhdb.redomirrors [3]: 65535; 0x0de: 0xffff

Kfdhdb.dbcompat: 168820736; 0x0e0: 0x0a100000

Kfdhdb.grpstmp.hi: 32937833; 0x0e4: HOUR=0x9 DAYS=0x1b MNTH=0x5 YEAR=0x7da

Kfdhdb.grpstmp.lo: 1704339456; 0x0e8: USEC=0x0 MSEC=0x18a SECS=0x19 MINS=0x19

Kfdhdb.ub4spare [0]: 0; 0x0ec: 0x00000000

Kfdhdb.ub4spare [1]: 0; 0x0f0: 0x00000000

Kfdhdb.ub4spare [2]: 0; 0x0f4: 0x00000000

Kfdhdb.ub4spare [3]: 0; 0x0f8: 0x00000000

Kfdhdb.ub4spare [4]: 0; 0x0fc: 0x00000000

Kfdhdb.ub4spare [5]: 0; 0x100: 0x00000000

Kfdhdb.ub4spare [6]: 0; 0x104: 0x00000000

Kfdhdb.ub4spare [7]: 0; 0x108: 0x00000000

Kfdhdb.ub4spare [8]: 0; 0x10c: 0x00000000

Kfdhdb.ub4spare [9]: 0; 0x110: 0x00000000

Kfdhdb.ub4spare [10]: 0; 0x114: 0x00000000

Kfdhdb.ub4spare [11]: 0; 0x118: 0x00000000

Kfdhdb.ub4spare [12]: 0; 0x11c: 0x00000000

Kfdhdb.ub4spare [13]: 0; 0x120: 0x00000000

Kfdhdb.ub4spare [14]: 0; 0x124: 0x00000000

Kfdhdb.ub4spare [15]: 0; 0x128: 0x00000000

Kfdhdb.ub4spare [16]: 0; 0x12c: 0x00000000

Kfdhdb.ub4spare [17]: 0; 0x130: 0x00000000

Kfdhdb.ub4spare [18]: 0; 0x134: 0x00000000

Kfdhdb.ub4spare [19]: 0; 0x138: 0x00000000

Kfdhdb.ub4spare [20]: 0; 0x13c: 0x00000000

Kfdhdb.ub4spare [21]: 0; 0x140: 0x00000000

Kfdhdb.ub4spare [22]: 0; 0x144: 0x00000000

Kfdhdb.ub4spare [23]: 0; 0x148: 0x00000000

Kfdhdb.ub4spare [24]: 0; 0x14c: 0x00000000

Kfdhdb.ub4spare [25]: 0; 0x150: 0x00000000

Kfdhdb.ub4spare [26]: 0; 0x154: 0x00000000

Kfdhdb.ub4spare [27]: 0; 0x158: 0x00000000

Kfdhdb.ub4spare [28]: 0; 0x15c: 0x00000000

Kfdhdb.ub4spare [29]: 0; 0x160: 0x00000000

Kfdhdb.ub4spare [30]: 0; 0x164: 0x00000000

Kfdhdb.ub4spare [31]: 0; 0x168: 0x00000000

Kfdhdb.ub4spare [32]: 0; 0x16c: 0x00000000

Kfdhdb.ub4spare [33]: 0; 0x170: 0x00000000

Kfdhdb.ub4spare [34]: 0; 0x174: 0x00000000

Kfdhdb.ub4spare [35]: 0; 0x178: 0x00000000

Kfdhdb.ub4spare [36]: 0; 0x17c: 0x00000000

Kfdhdb.ub4spare [37]: 0; 0x180: 0x00000000

Kfdhdb.ub4spare [38]: 0; 0x184: 0x00000000

Kfdhdb.ub4spare [39]: 0; 0x188: 0x00000000

Kfdhdb.ub4spare [40]: 0; 0x18c: 0x00000000

Kfdhdb.ub4spare [41]: 0; 0x190: 0x00000000

Kfdhdb.ub4spare [42]: 0; 0x194: 0x00000000

Kfdhdb.ub4spare [43]: 0; 0x198: 0x00000000

Kfdhdb.ub4spare [44]: 0; 0x19c: 0x00000000

Kfdhdb.ub4spare [45]: 0; 0x1a0: 0x00000000

Kfdhdb.ub4spare [46]: 0; 0x1a4: 0x00000000

Kfdhdb.ub4spare [47]: 0; 0x1a8: 0x00000000

Kfdhdb.ub4spare [48]: 0; 0x1ac: 0x00000000

Kfdhdb.ub4spare [49]: 0; 0x1b0: 0x00000000

Kfdhdb.ub4spare [50]: 0; 0x1b4: 0x00000000

Kfdhdb.ub4spare [51]: 0; 0x1b8: 0x00000000

Kfdhdb.ub4spare [52]: 0; 0x1bc: 0x00000000

Kfdhdb.ub4spare [53]: 0; 0x1c0: 0x00000000

Kfdhdb.ub4spare [54]: 0; 0x1c4: 0x00000000

Kfdhdb.ub4spare [55]: 0; 0x1c8: 0x00000000

Kfdhdb.ub4spare [56]: 0; 0x1cc: 0x00000000

Kfdhdb.ub4spare [57]: 0; 0x1d0: 0x00000000

Kfdhdb.acdb.aba.seq: 0; 0x1d4: 0x00000000

Kfdhdb.acdb.aba.blk: 0; 0x1d8: 0x00000000

Kfdhdb.acdb.ents: 0; 0x1dc: 0x0000

Kfdhdb.acdb.ub2spare: 0; 0x1de: 0x0000

The disk group can mount normally:

SQL > alter diskgroup data mount

Diskgroup altered.

SQL > select name,state from v$asm_diskgroup

NAME STATE

--

DATA MOUNTED

3. The disk head can be restored using kfed backup:

1) use kfed to back up disk head information:

[oracle@p520:/oracle] $kfed read / dev/rhdisk5 > / oracle/hdisk5backup.txt

[oracle@p520:/oracle] $kfed read / dev/rhdisk3 > / oracle/hdisk3backup.txt

-rw-r--r-- 1 oracle oinstall 6607 May 27 11:11 hdisk5backup.txt

-rw-r--r-- 1 oracle oinstall 6607 May 27 11:11 hdisk3backup.txt

2) restore using kfed:

Use dd to destroy file directory, that is, hdisk5 disk head information

[oracle@p520:/oracle] $dd if=/dev/zero f=/dev/rhdisk5 bs=4096 count=1

1: 0 records in.

1: 0 records out.

SQL > alter diskgroup data mount

Alter diskgroup data mount

*

ERROR at line 1:

ORA-15032: not all alterations performed

ORA-15063: ASM discovered an insufficient number of disks for diskgroup "DATA"

Because hdisk5 is file directory, the above error message is reported. If the hdisk3 disk head is damaged, report:

ERROR at line 1:

ORA-15032: not all alterations performed

ORA-15040: diskgroup is incomplete

ORA-15042: ASM disk "1" is missing

Resume using the kfed merge command

[oracle@p520:/oracle] $kfed merge / dev/rhdisk5 text=/oracle/hdisk5backup.txt

SQL > alter diskgroup data mount

Diskgroup alter

Use dd to destroy hdisk3 disk head information

[oracle@p520:/oracle] $dd if=/dev/zero f=/dev/rhdisk3 bs=4096 count=1

1: 0 records in.

1: 0 records out.

SQL > alter diskgroup data mount

Alter diskgroup data mount

*

SQL > alter diskgroup data mount

Alter diskgroup data mount

*

ERROR at line 1:

ORA-15032: not all alterations performed

ORA-15040: diskgroup is incomplete

ORA-15042: ASM disk "1" is missing

Resume using the kfed merge command

[oracle@p520:/oracle] $kfed merge / dev/rhdisk3 text=/oracle/hdisk3backup.txt

SQL > alter diskgroup data mount

Diskgroup altere

4. The disk head is not backed up, but it is not the recovery of the lost information of the file directory disk head:

1) first determine whether the disk is a file directory disk; if we determine that hdisk5 is a file directory disk.

2) destroy the hdisk3 header information of non-file directory disk:

Destroy the hdisk3 disk head:

[oracle@p520:/oracle] $dd if=/dev/zero f=/dev/rhdisk3 bs=4096 count=1

1: 0 records in.

1: 0 records out.

[oracle@p520:/oracle] $kfed read / dev/rhdisk3

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: titled 0 NUMB=0x0

Kfbh.block.obj: 0; 0x008: TYPE=0x0 NUMB=0x0

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

Check diskgroup

SQL > alter diskgroup data mount

Alter diskgroup data mount

*

ERROR at line 1:

ORA-15032: not all alterations performed

ORA-15040: diskgroup is incomplete

ORA-15042: ASM disk "1" is missing

3) find disk directory information according to file directory hdisk5; you can use select name,path from v$asm_disk to find it.

Out.

4) find out the disk information according to disk directory hdisk3; you can get hdisk3 disk information from it.

Kfddde [1] .dsknum: 1; 0x1f4: 0x0001

Kfddde [1] .dskname: DATA_0001; 0x1f8: length=9

Kfddde [1] .fgname: DATA_0001; 0x218: length=9

Kfddde [1] .crestmp.hi: 32937837; 0x238: HOUR=0x9 DAYS=0x1b MNTH=0x5 YEAR=0x7da

Kfddde [1] .crestmp.lo: 1899649024; 0x23c: USEC=0x0 MSEC=0x296 SECS=0x13 MINS=0x1c

Kfddde [1] .size: 1024; 0x24c: 0x00000400

5) generate the recovery hdisk3 disk header file based on the above information:

Here we can use hdisk5 to modify:

Kfed read / dev/rhdisk5 > / oracle/hdisk5.txt

Kfbh.block.obj: 2147483648; 0x008: TYPE=0x8 NUMB=0x0

Kfdhdb.dsknum: 0; 0x024: 0x0000

Kfdhdb.dskname: DATA_0000; 0x028: length=9

Kfdhdb.fgname: DATA_0000; 0x068: length=9

Kfdhdb.crestmp.hi: 32937833; 0x0a8: HOUR=0x9 DAYS=0x1b MNTH=0x5 YEAR=0x7da

Kfdhdb.crestmp.lo: 1704514560; 0x0ac: USEC=0x0 MSEC=0x235 SECS=0x19 MINS=0x19

Kfdhdb.dsksize: 51200; 0x0c4: 0x0000c800

Change the upper face value to the following values:

Kfbh.block.obj: 2147483649; 0x008: TYPE=0x8 NUMB=0x0

Kfdhdb.dsknum: 1; 0x024: 0x0000

Kfdhdb.dskname: DATA_0001; 0x028: length=9

Kfdhdb.fgname: DATA_0001; 0x068: length=9

Kfdhdb.crestmp.hi: 32937837; 0x0a8: HOUR=0x9 DAYS=0x1b MNTH=0x5 YEAR=0x7da

Kfdhdb.crestmp.lo: 1899649024; 0x0ac: USEC=0x0 MSEC=0x235 SECS=0x19 MINS=0x19

Kfdhdb.dsksize: 1024; 0x0c4: 0x0000c800

This is best edited with ultraedit to generate hdisk3.txt

Kfed merge enter header file information to hdisk3:

[oracle@p520:/oracle] $kfed merge / dev/rhdisk3 text=/oracle/hdisk3.txt

Verify that the repair was successful:

SQL > alter diskgroup data mount

Diskgroup altered.

And can read the disk head information correctly:

[oracle@p520:/oracle] $kfed read / dev/rhdisk3

Kfbh.endian: 0; 0x000: 0x00

Kfbh.hard: 130,130; 0x001: 0x82

Kfbh.type: 1; 0x002: KFBTYP_DISKHEAD

Kfbh.datfmt: 1; 0x003: 0x01

Kfbh.block.blk: 0; 0x004: titled 0 NUMB=0x0

Kfbh.block.obj: 2147483649; 0x008: TYPE=0x8 NUMB=0x1

Kfbh.check: 3781987247; 0x00c: 0xe16c8baf

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

Kfdhdb.driver.reserved [5]: 0; 0x01c: 0x00000000

Kfdhdb.compat: 168820736; 0x020: 0x0a100000

Kfdhdb.dsknum: 1; 0x024: 0x0001

Kfdhdb.grptyp: 1; 0x026: KFDGTP_EXTERNAL

Kfdhdb.hdrsts: 3; 0x027: KFDHDR_MEMBER

Kfdhdb.dskname: DATA_0001; 0x028: length=9

Kfdhdb.grpname: DATA; 0x048: length=4

Kfdhdb.fgname: DATA_0001; 0x068: length=9

Kfdhdb.capname:; 0x088: length=0

Kfdhdb.crestmp.hi: 32937837; 0x0a8: HOUR=0x9 DAYS=0x1b MNTH=0x5 YEAR=0x7da

Kfdhdb.crestmp.lo: 1899649024; 0x0ac: USEC=0x0 MSEC=0x296 SECS=0x13 MINS=0x1c

Kfdhdb.mntstmp.hi: 32937834; 0x0b0: HOUR=0xa DAYS=0x1b MNTH=0x5 YEAR=0x7da

Kfdhdb.mntstmp.lo: 679906304; 0x0b4: USEC=0x0 MSEC=0x1a3 SECS=0x8 MINS=0xa

Kfdhdb.secsize: 512; 0x0b8: 0x0200

Kfdhdb.blksize: 4096; 0x0ba: 0x1000

Kfdhdb.ausize: 1048576; 0x0bc: 0x00100000

Kfdhdb.mfact: 113792; 0x0c0: 0x0001bc80

Kfdhdb.dsksize: 1024; 0x0c4: 0x00000400

Kfdhdb.pmcnt: 2; 0x0c8: 0x00000002

Kfdhdb.fstlocn: 1; 0x0cc: 0x00000001

Kfdhdb.altlocn: 2; 0x0d0: 0x00000002

Kfdhdb.f1b1locn: 0; 0x0d4: 0x00000000

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.grpstmp.hi: 32937833; 0x0e4: HOUR=0x9 DAYS=0x1b MNTH=0x5 YEAR=0x7da

Kfdhdb.grpstmp.lo: 1704339456; 0x0e8: USEC=0x0 MSEC=0x18a SECS=0x19 MINS=0x19

Kfdhdb.ub4spare [0]: 0; 0x0ec: 0x00000000

Kfdhdb.ub4spare [1]: 0; 0x0f0: 0x00000000

Kfdhdb.ub4spare [2]: 0; 0x0f4: 0x00000000

Kfdhdb.ub4spare [3]: 0; 0x0f8: 0x00000000

Kfdhdb.ub4spare [4]: 0; 0x0fc: 0x00000000

Kfdhdb.ub4spare [5]: 0; 0x100: 0x00000000

Kfdhdb.ub4spare [6]: 0; 0x104: 0x00000000

Kfdhdb.ub4spare [7]: 0; 0x108: 0x00000000

Kfdhdb.ub4spare [8]: 0; 0x10c: 0x00000000

Kfdhdb.ub4spare [9]: 0; 0x110: 0x00000000

Kfdhdb.ub4spare [10]: 0; 0x114: 0x00000000

Kfdhdb.ub4spare [11]: 0; 0x118: 0x00000000

Kfdhdb.ub4spare [12]: 0; 0x11c: 0x00000000

Kfdhdb.ub4spare [13]: 0; 0x120: 0x00000000

Kfdhdb.ub4spare [14]: 0; 0x124: 0x00000000

Kfdhdb.ub4spare [15]: 0; 0x128: 0x00000000

Kfdhdb.ub4spare [16]: 0; 0x12c: 0x00000000

Kfdhdb.ub4spare [17]: 0; 0x130: 0x00000000

Kfdhdb.ub4spare [18]: 0; 0x134: 0x00000000

Kfdhdb.ub4spare [19]: 0; 0x138: 0x00000000

Kfdhdb.ub4spare [20]: 0; 0x13c: 0x00000000

Kfdhdb.ub4spare [21]: 0; 0x140: 0x00000000

Kfdhdb.ub4spare [22]: 0; 0x144: 0x00000000

Kfdhdb.ub4spare [23]: 0; 0x148: 0x00000000

Kfdhdb.ub4spare [24]: 0; 0x14c: 0x00000000

Kfdhdb.ub4spare [25]: 0; 0x150: 0x00000000

Kfdhdb.ub4spare [26]: 0; 0x154: 0x00000000

Kfdhdb.ub4spare [27]: 0; 0x158: 0x00000000

Kfdhdb.ub4spare [28]: 0; 0x15c: 0x00000000

Kfdhdb.ub4spare [29]: 0; 0x160: 0x00000000

Kfdhdb.ub4spare [30]: 0; 0x164: 0x00000000

Kfdhdb.ub4spare [31]: 0; 0x168: 0x00000000

Kfdhdb.ub4spare [32]: 0; 0x16c: 0x00000000

Kfdhdb.ub4spare [33]: 0; 0x170: 0x00000000

Kfdhdb.ub4spare [34]: 0; 0x174: 0x00000000

Kfdhdb.ub4spare [35]: 0; 0x178: 0x00000000

Kfdhdb.ub4spare [36]: 0; 0x17c: 0x00000000

Kfdhdb.ub4spare [37]: 0; 0x180: 0x00000000

Kfdhdb.ub4spare [38]: 0; 0x184: 0x00000000

Kfdhdb.ub4spare [39]: 0; 0x188: 0x00000000

Kfdhdb.ub4spare [40]: 0; 0x18c: 0x00000000

Kfdhdb.ub4spare [41]: 0; 0x190: 0x00000000

Kfdhdb.ub4spare [42]: 0; 0x194: 0x00000000

Kfdhdb.ub4spare [43]: 0; 0x198: 0x00000000

Kfdhdb.ub4spare [44]: 0; 0x19c: 0x00000000

Kfdhdb.ub4spare [45]: 0; 0x1a0: 0x00000000

Kfdhdb.ub4spare [46]: 0; 0x1a4: 0x00000000

Kfdhdb.ub4spare [47]: 0; 0x1a8: 0x00000000

Kfdhdb.ub4spare [48]: 0; 0x1ac: 0x00000000

Kfdhdb.ub4spare [49]: 0; 0x1b0: 0x00000000

Kfdhdb.ub4spare [50]: 0; 0x1b4: 0x00000000

Kfdhdb.ub4spare [51]: 0; 0x1b8: 0x00000000

Kfdhdb.ub4spare [52]: 0; 0x1bc: 0x00000000

Kfdhdb.ub4spare [53]: 0; 0x1c0: 0x00000000

Kfdhdb.ub4spare [54]: 0; 0x1c4: 0x00000000

Kfdhdb.ub4spare [55]: 0; 0x1c8: 0x00000000

Kfdhdb.ub4spare [56]: 0; 0x1cc: 0x00000000

Kfdhdb.ub4spare [57]: 0; 0x1d0: 0x00000000

Kfdhdb.acdb.aba.seq: 0; 0x1d4: 0x00000000

Kfdhdb.acdb.aba.blk: 0; 0x1d8: 0x00000000

Kfdhdb.acdb.ents: 0; 0x1dc: 0x0000

Kfdhdb.acdb.ub2spare: 0; 0x1de: 0x0000

The repair was successful.

5. Recovery from the loss of information on the disk head where the disk group file directory is located:

1) destroy the hdisk5 disk head:

[oracle@p520:/oracle] $dd if=/dev/zero f=/dev/rhdisk5 bs=4096 count=1

1: 0 records in.

1: 0 records out.

[oracle@p520:/oracle] $kfed read / dev/rhdisk5

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: titled 0 NUMB=0x0

Kfbh.block.obj: 0; 0x008: TYPE=0x0 NUMB=0x0

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

Check diskgroup:

SQL > alter diskgroup data mount

Alter diskgroup data mount

*

ERROR at line 1:

ORA-15032: not all alterations performed

ORA-15063: ASM discovered an insufficient number of disks for diskgroup "DATA"

2) find disk directory information according to file directory hdisk5:

You can use select name,path from v$asm_disk to find out.

3) find out the disk information according to disk directory hdisk3; you can get the disk head information of the following hdisk5

Kfddde [0] .dsknum: 0; 0x034: 0x0000

Kfddde [0] .dskname: DATA_0000; 0x038: length=9

Kfddde [0] .fgname: DATA_0000; 0x058: length=9

Kfddde [0] .crestmp.hi: 32937833; 0x078: HOUR=0x9 DAYS=0x1b MNTH=0x5 YEAR=0x7da

Kfddde [0] .crestmp.lo: 1704514560; 0x07c: USEC=0x0 MSEC=0x235 SECS=0x19 MINS=0x19

Kfddde [0] .size: 51200; 0x08c: 0x0000c800

4) generate recovery hdisk5 disk header files based on info.txt information:

Here we can use the hdisk3 disk header information file to modify:

Kfed read / dev/rhdisk3 > / oracle/hdisk3.txt

Kfbh.block.obj: 2147483649; 0x008: TYPE=0x8 NUMB=0x1

Kfdhdb.dsknum: 1; 0x024: 0x0001

Kfdhdb.dskname: DATA_0001; 0x028: length=9

Kfdhdb.fgname: DATA_0001; 0x068: length=9

Kfdhdb.crestmp.hi: 32937833; 0x0a8: HOUR=0x9 DAYS=0x1b MNTH=0x5 YEAR=0x7da

Kfdhdb.crestmp.lo: 1704514560; 0x0ac: USEC=0x0 MSEC=0x235 SECS=0x19 MINS=0x19

Kfdhdb.dsksize: 1024; 0x0c4: 0x0000c800

Change the upper face value to the following values:

Kfbh.block.obj: 2147483648; 0x008: TYPE=0x8 NUMB=0x0

Kfdhdb.dsknum: 0; 0x024: 0x0000

Kfdhdb.dskname: DATA_0000; 0x028: length=9

Kfdhdb.fgname: DATA_0000; 0x068: length=9

Kfdhdb.crestmp.hi: 32937833; 0x0a8: HOUR=0x9 DAYS=0x1b MNTH=0x5 YEAR=0x7da

Kfdhdb.crestmp.lo: 1704514560; 0x0ac: USEC=0x0 MSEC=0x235 SECS=0x19 MINS=0x19

Kfdhdb.dsksize: 51200; 0x0c4: 0x0000c800

This is best edited with ultraedit to generate hdisk5.txt.

Kfed merge enter header file information to hdisk5:

[oracle@p520:/oracle] $kfed merge / dev/rhdisk3 text=/oracle/hdisk5.txt

Verify that the repair is successful

SQL > alter diskgroup data mount

Diskgroup altered.

And can read the disk head information:

[oracle@p520:/oracle] $kfed read / dev/rhdisk5

Kfbh.endian: 0; 0x000: 0x00

Kfbh.hard: 130,130; 0x001: 0x82

Kfbh.type: 1; 0x002: KFBTYP_DISKHEAD

Kfbh.datfmt: 1; 0x003: 0x01

Kfbh.block.blk: 0; 0x004: titled 0 NUMB=0x0

Kfbh.block.obj: 2147483648; 0x008: TYPE=0x8 NUMB=0x0

Kfbh.check: 170969582; 0x00c: 0x0a30c9ee

Kfbh.fcn.base: 0; 0x010: 0x00000242

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

Kfdhdb.driver.reserved [5]: 0; 0x01c: 0x00000000

Kfdhdb.compat: 168820736; 0x020: 0x0a100000

Kfdhdb.dsknum: 0; 0x024: 0x0000

Kfdhdb.grptyp: 1; 0x026: KFDGTP_EXTERNAL

Kfdhdb.hdrsts: 3; 0x027: KFDHDR_MEMBER

Kfdhdb.dskname: DATA_0000; 0x028: length=9

Kfdhdb.grpname: DATA; 0x048: length=4

Kfdhdb.fgname: DATA_0000; 0x068: length=9

Kfdhdb.capname:; 0x088: length=0

Kfdhdb.crestmp.hi: 32937833; 0x0a8: HOUR=0x9 DAYS=0x1b MNTH=0x5 YEAR=0x7da

Kfdhdb.crestmp.lo: 1704514560; 0x0ac: USEC=0x0 MSEC=0x235 SECS=0x19 MINS=0x19

Kfdhdb.mntstmp.hi: 32937834; 0x0b0: HOUR=0xa DAYS=0x1b MNTH=0x5 YEAR=0x7da

Kfdhdb.mntstmp.lo: 679906304; 0x0b4: USEC=0x0 MSEC=0x1a3 SECS=0x8 MINS=0xa

Kfdhdb.secsize: 512; 0x0b8: 0x0200

Kfdhdb.blksize: 4096; 0x0ba: 0x1000

Kfdhdb.ausize: 1048576; 0x0bc: 0x00100000

Kfdhdb.mfact: 113792; 0x0c0: 0x0001bc80

Kfdhdb.dsksize: 51200; 0x0c4: 0x0000c800

Kfdhdb.pmcnt: 2; 0x0c8: 0x00000002

Kfdhdb.fstlocn: 1; 0x0cc: 0x00000001

Kfdhdb.altlocn: 2; 0x0d0: 0x00000002

Kfdhdb.f1b1locn: 2; 0x0d4: 0x00000002

Kfdhdb.redomirrors [0]: 0; 0x0d8: 0x0000

Kfdhdb.redomirrors [1]: 65535; 0x0da: 0xffff

Kfdhdb.redomirrors [2]: 65535; 0x0dc: 0xffff

Kfdhdb.redomirrors [3]: 65535; 0x0de: 0xffff

Kfdhdb.dbcompat: 168820736; 0x0e0: 0x0a100000

Kfdhdb.grpstmp.hi: 32937833; 0x0e4: HOUR=0x9 DAYS=0x1b MNTH=0x5 YEAR=0x7da

Kfdhdb.grpstmp.lo: 1704339456; 0x0e8: USEC=0x0 MSEC=0x18a SECS=0x19 MINS=0x19

The repair was successful.

6. Recovery of the loss of all disk head information in the disk group:

1) destroy the disk head information of the disk group:

SQL > select DISK_NUMBER,name,path from v$asm_disk where group_number=2

DISK_NUMBER NAME PATH

1 DGTEST_0001 / dev/rhdisk7

0 DGTEST_0000 / dev/rhdisk5

[oracle@p520:/oracle/app/oracle] $dd if=/dev/zero f=/dev/rhdisk5 bs=4096 count=1

1: 0 records in.

1: 0 records out.

[oracle@p520:/oracle/app/oracle] $dd if=/dev/zero f=/dev/rhdisk6 bs=4096 count=1

1: 0 records in.

1: 0 records out.

SQL > alter diskgroup dgtest mount

Alter diskgroup dgtest mount

*

ERROR at line 1:

ORA-15032: not all alterations performed

ORA-15063: ASM discovered an insufficient number of disks for diskgroup "DGTEST"

2) find disk information by looking for file directory disk

We identified hdisk5 as the file directory disk; and found the disk directory disk with the following command:

You can use select name,path from v$asm_disk to find out.

3) find the disk group disk information based on the above information:

Kfed read / dev/rhdisk5 aunum=3 blknum=0 | more

Get the disk hdisk5 disk head information:

Kfddde [0] .entry.incarn: 1; 0x024: Atre1 NUMM=0x0

Kfddde [0] .entry.hash: 0; 0x028: 0x00000000

Kfddde [0] .entry.refer.number: 4294967295; 0x02c: 0xffffffff

Kfddde [0] .entry.refer.incarn: 0; 0x030: Agg0 NUMM=0x0

Kfddde [0] .dsknum: 0; 0x034: 0x0000

Kfddde [0] .state: 2; 0x036: KFDSTA_NORMAL

Kfddde [0] .ub1neighbors: 0; 0x037: 0x00

Kfddde [0] .dskname: DGTEST_0000; 0x038: length=11

Kfddde [0] .fgname: DGTEST_0000; 0x058: length=11

Kfddde [0] .crestmp.hi: 32937866; 0x078: HOUR=0xa DAYS=0x1c MNTH=0x5 YEAR=0x7da

Kfddde [0] .crestmp.lo: 3925069824; 0x07c: USEC=0x0 MSEC=0xf4 SECS=0x1f MINS=0x3a

Kfddde [0] .failstmp.hi: 0; 0x080: HOUR=0x0 DAYS=0x0 MNTH=0x0 YEAR=0x0

Kfddde [0] .failstmp.lo: 0; 0x084: USEC=0x0 MSEC=0x0 SECS=0x0 MINS=0x0

Kfddde [0] .timer: 0; 0x088: 0x00000000

Kfddde [0] .size: 51200; 0x08c: 0x0000c800

Kfddde [0] .duration [0]: 0; 0x090: 0x00000000

Kfddde [0] .duration [1]: 0; 0x094: 0x00000000

Kfddde [0] .duration [2]: 0; 0x098: 0x00000000

Kfddde [0] .duration [3]: 0; 0x09c: 0x00000000

Kfddde [0] .duration [4]: 0; 0x0a0: 0x00000000

Kfddde [0] .starting [0] .start: 0; 0x0a4: 0x00000000

Kfddde [0] .size [0] .size: 51200; 0x0a8: 0x0000c800

Kfddde [0] .cake [0] .used: 90; 0x0ac: 0x0000005a

Kfddde [0] .0x00000000 [0] .duration: 0; 0x0b0: 0x00000000

Get the disk hdisk7 disk head information:

Kfddde [1] .entry.incarn: 1; 0x1e4: Atre1 NUMM=0x0

Kfddde [1] .entry.hash: 1; 0x1e8: 0x00000001

Kfddde [1] .entry.refer.number: 4294967295; 0x1ec: 0xffffffff

Kfddde [1] .entry.refer.incarn: 0; 0x1f0: Agg0 NUMM=0x0

Kfddde [1] .dsknum: 1; 0x1f4: 0x0001

Kfddde [1] .state: 2; 0x1f6: KFDSTA_NORMAL

Kfddde [1] .ub1neighbors: 0; 0x1f7: 0x00

Kfddde [1] .dskname: DGTEST_0001; 0x1f8: length=11

Kfddde [1] .fgname: DGTEST_0001; 0x218: length=11

Kfddde [1] .crestmp.hi: 32937866; 0x238: HOUR=0xa DAYS=0x1c MNTH=0x5 YEAR=0x7da

Kfddde [1] .crestmp.lo: 3925069824; 0x23c: USEC=0x0 MSEC=0xf4 SECS=0x1f MINS=0x3a

Kfddde [1] .failstmp.hi: 0; 0x240: HOUR=0x0 DAYS=0x0 MNTH=0x0 YEAR=0x0

Kfddde [1] .failstmp.lo: 0; 0x244: USEC=0x0 MSEC=0x0 SECS=0x0 MINS=0x0

Kfddde [1] .timer: 0; 0x248: 0x00000000

Kfddde [1] .size: 2048; 0x24c: 0x00000800

Kfddde [1] .duration [0]: 0; 0x250: 0x00000000

Kfddde [1]. 0x00000000 [1]: 0; 0x254: 0x00000000

Kfddde [1]. 0x258 [2]: 0; 0x258: 0x00000000

Kfddde [1]. 0x00000000 [3]: 0; 0x25c: 0x00000000

Kfddde [1]. 0x00000000 [4]: 0; 0x260: 0x00000000

Kfddde [1] .starting [0] .start: 0; 0x264: 0x00000000

Kfddde [1] .size [0] .size: 2048; 0x268: 0x00000800

Kfddde [1]. 0x00000005 [0] .used: 5; 0x26c: 0x00000005

Kfddde [1]. 0x00000000 [0] .duration: 0; 0x270: 0x00000000

4) based on the above information, we regenerate the disk header file information for hdisk5 and hdisk7:

Hdisk5 disk header file information:

Kfbh.endian: 0; 0x000: 0x00

Kfbh.hard: 130,130; 0x001: 0x82

Kfbh.type: 1; 0x002: KFBTYP_DISKHEAD

Kfbh.datfmt: 1; 0x003: 0x01

Kfbh.block.blk: 0; 0x004: titled 0 NUMB=0x0

Kfbh.block.obj: {2147483648}; 0x008: TYPE=0x8 NUMB=0x0

Kfbh.check: 0; 0x00c: 0x750bcb49

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

Kfdhdb.driver.reserved [5]: 0; 0x01c: 0x00000000

Kfdhdb.compat: 168820736; 0x020: 0x0a100000

Kfdhdb.dsknum: {0}; 0x024: 0x0000

Kfdhdb.grptyp: {1}; 0x026: KFDGTP_EXTERNAL

Kfdhdb.hdrsts: {3}; 0x027: KFDHDR_MEMBER

Kfdhdb.dskname: {DGTEST_0000}; 0x028: length=11

Kfdhdb.grpname: {DGTEST}; 0x048: length=6

Kfdhdb.fgname: {DGTEST_0000}; 0x068: length=11

Kfdhdb.capname:; 0x088: length=0

Kfdhdb.crestmp.hi: {32937866}; 0x0a8: HOUR=0xa DAYS=0x1c MNTH=0x5 YEAR=0x7da

Kfdhdb.crestmp.lo: {3925069824}; 0x0ac: USEC=0x0 MSEC=0xf4 SECS=0x1f MINS=0x3a

Kfdhdb.mntstmp.hi: 32937866; 0x0b0: HOUR=0xa DAYS=0x1c MNTH=0x5 YEAR=0x7da

Kfdhdb.mntstmp.lo: 3933855744; 0x0b4: USEC=0x0 MSEC=0x278 SECS=0x27 MINS=0x3a

Kfdhdb.secsize: 512; 0x0b8: 0x0200

Kfdhdb.blksize: 4096; 0x0ba: 0x1000

Kfdhdb.ausize: 1048576; 0x0bc: 0x00100000

Kfdhdb.mfact: 113792; 0x0c0: 0x0001bc80

Kfdhdb.dsksize: {51200}; 0x0c4: 0x0000c800

Kfdhdb.pmcnt: 2; 0x0c8: 0x00000002

Kfdhdb.fstlocn: 1; 0x0cc: 0x00000001

Kfdhdb.altlocn: 2; 0x0d0: 0x00000002

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.grpstmp.hi: 32937866; 0x0e4: HOUR=0xa DAYS=0x1c MNTH=0x5 YEAR=0x7da

Kfdhdb.grpstmp.lo: 3924577280; 0x0e8: USEC=0x0 MSEC=0x313 SECS=0x1e MINS=0x3a

Kfdhdb.ub4spare [0]: 0; 0x0ec: 0x00000000

Kfdhdb.ub4spare [1]: 0; 0x0f0: 0x00000000

Kfdhdb.ub4spare [2]: 0; 0x0f4: 0x00000000

Kfdhdb.ub4spare [3]: 0; 0x0f8: 0x00000000

Kfdhdb.ub4spare [4]: 0; 0x0fc: 0x00000000

Kfdhdb.ub4spare [5]: 0; 0x100: 0x00000000

Kfdhdb.ub4spare [6]: 0; 0x104: 0x00000000

Kfdhdb.ub4spare [7]: 0; 0x108: 0x00000000

Kfdhdb.ub4spare [8]: 0; 0x10c: 0x00000000

Kfdhdb.ub4spare [9]: 0; 0x110: 0x00000000

Kfdhdb.ub4spare [10]: 0; 0x114: 0x00000000

Kfdhdb.ub4spare [11]: 0; 0x118: 0x00000000

Kfdhdb.ub4spare [12]: 0; 0x11c: 0x00000000

Kfdhdb.ub4spare [13]: 0; 0x120: 0x00000000

Kfdhdb.ub4spare [14]: 0; 0x124: 0x00000000

Kfdhdb.ub4spare [15]: 0; 0x128: 0x00000000

Kfdhdb.ub4spare [16]: 0; 0x12c: 0x00000000

Kfdhdb.ub4spare [17]: 0; 0x130: 0x00000000

Kfdhdb.ub4spare [18]: 0; 0x134: 0x00000000

Kfdhdb.ub4spare [19]: 0; 0x138: 0x00000000

Kfdhdb.ub4spare [20]: 0; 0x13c: 0x00000000

Kfdhdb.ub4spare [21]: 0; 0x140: 0x00000000

Kfdhdb.ub4spare [22]: 0; 0x144: 0x00000000

Kfdhdb.ub4spare [23]: 0; 0x148: 0x00000000

Kfdhdb.ub4spare [24]: 0; 0x14c: 0x00000000

Kfdhdb.ub4spare [25]: 0; 0x150: 0x00000000

Kfdhdb.ub4spare [26]: 0; 0x154: 0x00000000

Kfdhdb.ub4spare [27]: 0; 0x158: 0x00000000

Kfdhdb.ub4spare [28]: 0; 0x15c: 0x00000000

Kfdhdb.ub4spare [29]: 0; 0x160: 0x00000000

Kfdhdb.ub4spare [30]: 0; 0x164: 0x00000000

Kfdhdb.ub4spare [31]: 0; 0x168: 0x00000000

Kfdhdb.ub4spare [32]: 0; 0x16c: 0x00000000

Kfdhdb.ub4spare [33]: 0; 0x170: 0x00000000

Kfdhdb.ub4spare [34]: 0; 0x174: 0x00000000

Kfdhdb.ub4spare [35]: 0; 0x178: 0x00000000

Kfdhdb.ub4spare [36]: 0; 0x17c: 0x00000000

Kfdhdb.ub4spare [37]: 0; 0x180: 0x00000000

Kfdhdb.ub4spare [38]: 0; 0x184: 0x00000000

Kfdhdb.ub4spare [39]: 0; 0x188: 0x00000000

Kfdhdb.ub4spare [40]: 0; 0x18c: 0x00000000

Kfdhdb.ub4spare [41]: 0; 0x190: 0x00000000

Kfdhdb.ub4spare [42]: 0; 0x194: 0x00000000

Kfdhdb.ub4spare [43]: 0; 0x198: 0x00000000

Kfdhdb.ub4spare [44]: 0; 0x19c: 0x00000000

Kfdhdb.ub4spare [45]: 0; 0x1a0: 0x00000000

Kfdhdb.ub4spare [46]: 0; 0x1a4: 0x00000000

Kfdhdb.ub4spare [47]: 0; 0x1a8: 0x00000000

Kfdhdb.ub4spare [48]: 0; 0x1ac: 0x00000000

Kfdhdb.ub4spare [49]: 0; 0x1b0: 0x00000000

Kfdhdb.ub4spare [50]: 0; 0x1b4: 0x00000000

Kfdhdb.ub4spare [51]: 0; 0x1b8: 0x00000000

Kfdhdb.ub4spare [52]: 0; 0x1bc: 0x00000000

Kfdhdb.ub4spare [53]: 0; 0x1c0: 0x00000000

Kfdhdb.ub4spare [54]: 0; 0x1c4: 0x00000000

Kfdhdb.ub4spare [55]: 0; 0x1c8: 0x00000000

Kfdhdb.ub4spare [56]: 0; 0x1cc: 0x00000000

Kfdhdb.ub4spare [57]: 0; 0x1d0: 0x00000000

Kfdhdb.acdb.aba.seq: 0; 0x1d4: 0x00000000

Kfdhdb.acdb.aba.blk: 0; 0x1d8: 0x00000000

Kfdhdb.acdb.ents: 0; 0x1dc: 0x0000

Kfdhdb.acdb.ub2spare: 0; 0x1de: 0x0000

Hdisk7 disk header file information

Kfbh.endian: 0; 0x000: 0x00

Kfbh.hard: 130,130; 0x001: 0x82

Kfbh.type: 1; 0x002: KFBTYP_DISKHEAD

Kfbh.datfmt: 1; 0x003: 0x01

Kfbh.block.blk: 0; 0x004: titled 0 NUMB=0x0

Kfbh.block.obj: {2147483649}; 0x008: TYPE=0x8 NUMB=0x1

Kfbh.check: 1963592522; 0x00c: 0x750a0b4a

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

Kfdhdb.driver.reserved [5]: 0; 0x01c: 0x00000000

Kfdhdb.compat: 168820736; 0x020: 0x0a100000

Kfdhdb.dsknum: {1}; 0x024: 0x0001

Kfdhdb.grptyp: {1}; 0x026: KFDGTP_EXTERNAL

Kfdhdb.hdrsts: {3}; 0x027: KFDHDR_MEMBER

Kfdhdb.dskname: {DGTEST_0001}; 0x028: length=11

Kfdhdb.grpname: {DGTEST}; 0x048: length=6

Kfdhdb.fgname: {DGTEST_0001}; 0x068: length=11

Kfdhdb.capname:; 0x088: length=0

Kfdhdb.crestmp.hi: {32937866}; 0x0a8: HOUR=0xa DAYS=0x1c MNTH=0x5 YEAR=0x7da

Kfdhdb.crestmp.lo: {3925069824}; 0x0ac: USEC=0x0 MSEC=0xf4 SECS=0x1f MINS=0x3a

Kfdhdb.mntstmp.hi: 32937866; 0x0b0: HOUR=0xa DAYS=0x1c MNTH=0x5 YEAR=0x7da

Kfdhdb.mntstmp.lo: 3933855744; 0x0b4: USEC=0x0 MSEC=0x278 SECS=0x27 MINS=0x3a

Kfdhdb.secsize: 512; 0x0b8: 0x0200

Kfdhdb.blksize: 4096; 0x0ba: 0x1000

Kfdhdb.ausize: 1048576; 0x0bc: 0x00100000

Kfdhdb.mfact: 113792; 0x0c0: 0x0001bc80

Kfdhdb.dsksize: {2048}; 0x0c4: 0x00000800

Kfdhdb.pmcnt: 2; 0x0c8: 0x00000002

Kfdhdb.fstlocn: 1; 0x0cc: 0x00000001

Kfdhdb.altlocn: 2; 0x0d0: 0x00000002

Kfdhdb.f1b1locn: 0; 0x0d4: 0x00000000

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.grpstmp.hi: 32937866; 0x0e4: HOUR=0xa DAYS=0x1c MNTH=0x5 YEAR=0x7da

Kfdhdb.grpstmp.lo: 3924577280; 0x0e8: USEC=0x0 MSEC=0x313 SECS=0x1e MINS=0x3a

Kfdhdb.ub4spare [0]: 0; 0x0ec: 0x00000000

Kfdhdb.ub4spare [1]: 0; 0x0f0: 0x00000000

Kfdhdb.ub4spare [2]: 0; 0x0f4: 0x00000000

Kfdhdb.ub4spare [3]: 0; 0x0f8: 0x00000000

Kfdhdb.ub4spare [4]: 0; 0x0fc: 0x00000000

Kfdhdb.ub4spare [5]: 0; 0x100: 0x00000000

Kfdhdb.ub4spare [6]: 0; 0x104: 0x00000000

Kfdhdb.ub4spare [7]: 0; 0x108: 0x00000000

Kfdhdb.ub4spare [8]: 0; 0x10c: 0x00000000

Kfdhdb.ub4spare [9]: 0; 0x110: 0x00000000

Kfdhdb.ub4spare [10]: 0; 0x114: 0x00000000

Kfdhdb.ub4spare [11]: 0; 0x118: 0x00000000

Kfdhdb.ub4spare [12]: 0; 0x11c: 0x00000000

Kfdhdb.ub4spare [13]: 0; 0x120: 0x00000000

Kfdhdb.ub4spare [14]: 0; 0x124: 0x00000000

Kfdhdb.ub4spare [15]: 0; 0x128: 0x00000000

Kfdhdb.ub4spare [16]: 0; 0x12c: 0x00000000

Kfdhdb.ub4spare [17]: 0; 0x130: 0x00000000

Kfdhdb.ub4spare [18]: 0; 0x134: 0x00000000

Kfdhdb.ub4spare [19]: 0; 0x138: 0x00000000

Kfdhdb.ub4spare [20]: 0; 0x13c: 0x00000000

Kfdhdb.ub4spare [21]: 0; 0x140: 0x00000000

Kfdhdb.ub4spare [22]: 0; 0x144: 0x00000000

Kfdhdb.ub4spare [23]: 0; 0x148: 0x00000000

Kfdhdb.ub4spare [24]: 0; 0x14c: 0x00000000

Kfdhdb.ub4spare [25]: 0; 0x150: 0x00000000

Kfdhdb.ub4spare [26]: 0; 0x154: 0x00000000

Kfdhdb.ub4spare [27]: 0; 0x158: 0x00000000

Kfdhdb.ub4spare [28]: 0; 0x15c: 0x00000000

Kfdhdb.ub4spare [29]: 0; 0x160: 0x00000000

Kfdhdb.ub4spare [30]: 0; 0x164: 0x00000000

Kfdhdb.ub4spare [31]: 0; 0x168: 0x00000000

Kfdhdb.ub4spare [32]: 0; 0x16c: 0x00000000

Kfdhdb.ub4spare [33]: 0; 0x170: 0x00000000

Kfdhdb.ub4spare [34]: 0; 0x174: 0x00000000

Kfdhdb.ub4spare [35]: 0; 0x178: 0x00000000

Kfdhdb.ub4spare [36]: 0; 0x17c: 0x00000000

Kfdhdb.ub4spare [37]: 0; 0x180: 0x00000000

Kfdhdb.ub4spare [38]: 0; 0x184: 0x00000000

Kfdhdb.ub4spare [39]: 0; 0x188: 0x00000000

Kfdhdb.ub4spare [40]: 0; 0x18c: 0x00000000

Kfdhdb.ub4spare [41]: 0; 0x190: 0x00000000

Kfdhdb.ub4spare [42]: 0; 0x194: 0x00000000

Kfdhdb.ub4spare [43]: 0; 0x198: 0x00000000

Kfdhdb.ub4spare [44]: 0; 0x19c: 0x00000000

Kfdhdb.ub4spare [45]: 0; 0x1a0: 0x00000000

Kfdhdb.ub4spare [46]: 0; 0x1a4: 0x00000000

Kfdhdb.ub4spare [47]: 0; 0x1a8: 0x00000000

Kfdhdb.ub4spare [48]: 0; 0x1ac: 0x00000000

Kfdhdb.ub4spare [49]: 0; 0x1b0: 0x00000000

Kfdhdb.ub4spare [50]: 0; 0x1b4: 0x00000000

Kfdhdb.ub4spare [51]: 0; 0x1b8: 0x00000000

Kfdhdb.ub4spare [52]: 0; 0x1bc: 0x00000000

Kfdhdb.ub4spare [53]: 0; 0x1c0: 0x00000000

Kfdhdb.ub4spare [54]: 0; 0x1c4: 0x00000000

Kfdhdb.ub4spare [55]: 0; 0x1c8: 0x00000000

Kfdhdb.ub4spare [56]: 0; 0x1cc: 0x00000000

Kfdhdb.ub4spare [57]: 0; 0x1d0: 0x00000000

Kfdhdb.acdb.aba.seq: 0; 0x1d4: 0x00000000

Kfdhdb.acdb.aba.blk: 0; 0x1d8: 0x00000000

Kfdhdb.acdb.ents: 0; 0x1dc: 0x0000

Kfdhdb.acdb.ub2spare: 0; 0x1de: 0x0000

5) restore the disk head:

Kfed merge disk head information:

[oracle@p520:/oracle/app/oracle] $kfed merge / dev/rhdisk5 text=hdisk5.txt

[oracle@p520:/oracle/app/oracle] $kfed merge / dev/rhdisk7 text=hdisk7.txt

SQL > select name,state from v$asm_diskgroup

Name state

--

DGTEST DISMOUNTED

SQL > alter diskgroup dgtest mount

Diskgroup altered.

The repair was successful.

IV. Summary of the experiment

1. The idea of repairing disk head information:

Find file directory, then find disk directory according to file directory.

Find out the disk information according to disk directory, edit the disk header file manually, and finally use kfed merge to generate the disk header.

information.

2. File directory is usually in the position of a disk au=2 in the disk group. If the disk group has been deleted or added to the disk group,

File directory is not necessarily in the location of au=2 and needs to be found manually.

3. For customers who use asm, it is recommended to back up the disk head information.

4. The customer's production database should be backed up.

5. Oracle 11g already has tools for manipulating disk head information in amdu,10g environment. If you want to use it, you need to download it separately. Refer to the METALINK documentation.

Placeholder for AMDU binaries and using with ASM 10g [ID 553639.1] .

6. The recommended oracle version for kfed tool is above 10.2.0.2, and oracle 10.2.0.1 will have bug.

Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.

Views: 0

*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.

Share To

Servers

Wechat

© 2024 shulou.com SLNews company. All rights reserved.

12
Report