asm disk 元数据都保存在disk header上,如果没有备份,一旦disk header损坏,那么asm disk 就不能mount了。所以备份asm disk header的信息是必要的.
下面是一个兄弟的总结,记录以下:
http://space.itpub.net/7199859/viewspace-700920
[@more@]为了防止连接过期,直接把内容贴了过来:
作者:ITPUB个人空间1w!o8K{ Z"aA8!CO
paulyibinyi一、实验目的:
我们经常由于误操作,比如对disk做了pvid=yes的操作,导致磁盘组的磁盘头信息丢失,从而不能正常
mount,导致数据库起不来,从而影响业务。以下实验就是为了解决上面情况,而提供的解决方法。
二、实验环境:
操作系统:AIX 6.1
ITPUB个人空间5[k"a*Qz;J{q
7y3A kJ us jz^ t0数据库版本:oracle 10.2.0.4 + rac + asm
$gw nB [f8Y!}t0数据库名:testITPUB个人空间!I L%_9N d tq@3l*dl
实例名:test1、test2ITPUB个人空间vT X/iw!LT
ip地址:(p520)192.168.3.225/(p650)192.168.3.223
三、实验步骤:
1、生成kfed工具和读取磁盘头信息:ITPUB个人空间6IR7x$|(Qj1?
1)编译kfed,生成kfed工具:
q/uL ~5^G0cd $ORACLE_HOME/rdbms/lib
G*E)D(r ~ P0cp ins_rdbms.mk ins_rdbms.mk.bakITPUB个人空间_5U1|*Bl@hM
[make -f ins_rdbms.mk ikfed]
1Gb-~1c^Br0Linking KFED utility (kfed)
#v"TO4i3z0rm -f /oracle/app/oracle/product/10.2.0/clusterdb/rdbms/lib/kfed
Pd4'BL|2A+P^/^0ld -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/ldflags` -lnsslb10 -lncrypt10 -lnsgr10 -
lnzjs10 -ln10 -lnnz10 -lnl10 -lnro10 `cat
/oracle/app/oracle/product/10.2.0/clusterdb/lib/ldflags` -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
/oracle/app/oracle/product/10.2.0/clusterdb/lib/ldflags` -lnsslb10 -lncrypt10 -lnsgr10 -
lnzjs10 -ln10 -lnnz10 -lnl10 -lnro10 `cat
/oracle/app/oracle/product/10.2.0/clusterdb/lib/ldflags` -lnsslb10 -lncrypt10 -lnsgr10 -
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
-lcore10 -lunls10 -lsnls10 -lnls10 -lcore10 -lnls10 -lld -lm `cat
/oracle/app/oracle/product/10.2.0/clusterdb/lib/sysliblist` -lm `if [ "`/usr/bin/uname -
v`" = "4" ];
9h)^ q3n3C0then 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.oITPUB个人空间s`Id,cD"m/I
mv -f /oracle/app/oracle/product/10.2.0/clusterdb/bin/kfed/oracle/app/oracle/product/10.2.0/clusterdb/bin/kfedOITPUB个人空间-fG sj2KJDE ze
mv /oracle/app/oracle/product/10.2.0/clusterdb/rdbms/lib/kfed/oracle/app/oracle/product/10.2.0/clusterdb/bin/kfed
n v)AH9@?C0chmod 751 /oracle/app/oracle/product/10.2.0/clusterdb/bin/kfed2)查看磁盘组下的磁盘信息:ITPUB个人空间LT rf*X1z
[oracle@p520:/]$sqlplus / as sysdbaSQL*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:
x-MPHk+H I[;l0Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit ProductionITPUB个人空间"Bs&i|B)p)^h.h/r
With the Partitioning, Real Application Clusters, OLAP and Data Mining optionsSQL> col name format a30ITPUB个人空间](Z!Pg,} jtj
SQL> col path format a30ITPUB个人空间}"_vw^f.L.y
SQL> select name,path from v$asm_disk;NAME PATHITPUB个人空间3~7Cp4~-e
------------------------------ -----------------------ITPUB个人空间8^ }-b BX-K
DATA_0000 /dev/rhdisk5
]%T/sg%SjX8DJ0DATA_0001 /dev/rhdisk3SQL> select name ,state from v$asm_diskgroup;
NAME STATE
'DB0kzS`7XsV0------------------------------ ----------------------
F3k)j6elF@x0DATA MOUNTEDSQL> /
NAME PATH HEADER_STATUS
h Vv4lzz;].l0------------------------------ ------------------------------ ---------------
)@Rt;JOg6DATA_0000 /dev/rhdisk5 MEMBER
?&n9[%Nt%R9?0DATA_0001 /dev/rhdisk3 MEMBER3)用kfed工具读取磁盘头信息:ITPUB个人空间'_ m0E"usy3{SQ
比如读取磁盘组data下hdisk5磁盘头信息ITPUB个人空间D$Z;q?#n;C#f q&E;fEY
[oracle@p520:/]$kfed read /dev/rhdisk5
$v+} hi EN-a6Hm0kfbh.endian: 0 ; 0x000: 0x00
N/L3EA yc4^J0kfbh.hard: 130 ; 0x001: 0x82ITPUB个人空间t&~g,Wb6l1~
kfbh.type: 1 ; 0x002: KFBTYP_DISKHEAD
d{*v/}+WK J%`0kfbh.datfmt: 1 ; 0x003: 0x01
-^4Tx S!h$O0kfbh.block.blk: 0 ; 0x004: T=0 NUMB=0x0ITPUB个人空间Gb*] t1HRy6e
kfbh.block.obj: 2147483648 ; 0x008: TYPE=0x8 NUMB=0x0ITPUB个人空间`H$ebe w*O.p#r
kfbh.check: 257017006 ; 0x00c: 0x0f51c4aeITPUB个人空间Z!y6B0sv6^
kfbh.fcn.base: 578 ; 0x010: 0x00000242ITPUB个人空间-ZX(uU.KLz
kfbh.fcn.wrap: 0 ; 0x014: 0x00000000ITPUB个人空间HP1Rd9c!_
kfbh.spare1: 0 ; 0x018: 0x00000000
A7GuH4PR^0kfbh.spare2: 0 ; 0x01c: 0x00000000ITPUB个人空间j'y;J6]9M}4n
kfdhdb.driver.provstr: ORCLDISK ; 0x000: length=8ITPUB个人空间}x@F$S+r
kfdhdb.driver.reserved[0]: 0 ; 0x008: 0x00000000ITPUB个人空间x-J-UK"A+T)u Aw$O ]G
kfdhdb.driver.reserved[1]: 0 ; 0x00c: 0x00000000
G5W_-TD&P^0kfdhdb.driver.reserved[2]: 0 ; 0x010: 0x00000000ITPUB个人空间|5}|dT"R j H
kfdhdb.driver.reserved[3]: 0 ; 0x014: 0x00000000
h:| _Crn0J/~3bTj0kfdhdb.driver.reserved[4]: 0 ; 0x018: 0x00000000
gK/fiT]0kfdhdb.driver.reserved[5]: 0 ; 0x01c: 0x00000000
k QS'j'] r0kfdhdb.compat: 168820736 ; 0x020: 0x0a100000
^-X-V0I"},A0kfdhdb.dsknum: 0 ; 0x024: 0x0000ITPUB个人空间+d zt JE };e2dIU T
kfdhdb.grptyp: 1 ; 0x026: KFDGTP_EXTERNALITPUB个人空间 u A5ZeF5bLb4z
kfdhdb.hdrsts: 3 ; 0x027: KFDHDR_MEMBER
4KS.j5^4tu;I l1q0kfdhdb.dskname: DATA_0000 ; 0x028: length=9ITPUB个人空间*jEE8HmV]/|*qV'K
kfdhdb.grpname: DATA ; 0x048: length=4ITPUB个人空间Ov}Lk"Dsl
kfdhdb.fgname: DATA_0000 ; 0x068: length=9
C"E5FE?1`%ng ?lZw0kfdhdb.capname: ; 0x088: length=0ITPUB个人空间AD){!m8NG
kfdhdb.crestmp.hi: 32937833 ; 0x0a8: HOUR=0x9 DAYS=0x1b MNTH=0x5 YEAR=0x7daITPUB个人空间f U T&U p%c k
kfdhdb.crestmp.lo: 1704514560 ; 0x0ac: USEC=0x0 MSEC=0x235 SECS=0x19 MINS=0x19ITPUB个人空间8i5e-[:n K @
kfdhdb.mntstmp.hi: 32937834 ; 0x0b0: HOUR=0xa DAYS=0x1b MNTH=0x5 YEAR=0x7daITPUB个人空间0fo1p9ay4L
kfdhdb.mntstmp.lo: 679906304 ; 0x0b4: USEC=0x0 MSEC=0x1a3 SECS=0x8 MINS=0xaITPUB个人空间.x D"iW$|)`nUag
kfdhdb.secsize: 512 ; 0x0b8: 0x0200
6F&C*G~rs Tj0kfdhdb.blksize: 4096 ; 0x0ba: 0x1000ITPUB个人空间e yw@R't;i;R
kfdhdb.ausize: 1048576 ; 0x0bc: 0x00100000
9MmW6vAD#S0kfdhdb.mfact: 113792 ; 0x0c0: 0x0001bc80ITPUB个人空间}V pC4P#B
kfdhdb.dsksize: 51200 ; 0x0c4: 0x0000c800ITPUB个人空间/R'@"S+@8AV
kfdhdb.pmcnt: 2 ; 0x0c8: 0x00000002
/L mSZ,q#O }0kfdhdb.fstlocn: 1 ; 0x0cc: 0x00000001ITPUB个人空间Is7f_0wv
kfdhdb.altlocn: 2 ; 0x0d0: 0x00000002
&s:~5~3[5WH;Q]oL0kfdhdb.f1b1locn: 2 ; 0x0d4: 0x00000002
JV:D4R#s5Z,}0kfdhdb.redomirrors[0]: 0 ; 0x0d8: 0x0000ITPUB个人空间(a(DVn#|F6[
kfdhdb.redomirrors[1]: 65535 ; 0x0da: 0xffff
1}/IA4~d0Ii[0kfdhdb.redomirrors[2]: 65535 ; 0x0dc: 0xffffITPUB个人空间]R!m8uJ4IF!B$g9i
kfdhdb.redomirrors[3]: 65535 ; 0x0de: 0xffff
@-s}F|tVI1|+q0kfdhdb.dbcompat: 168820736 ; 0x0e0: 0x0a100000ITPUB个人空间$y ~f7C|D
kfdhdb.grpstmp.hi: 32937833 ; 0x0e4: HOUR=0x9 DAYS=0x1b MNTH=0x5 YEAR=0x7da
&t"x[*ys.rV4t0kfdhdb.grpstmp.lo: 1704339456 ; 0x0e8: USEC=0x0 MSEC=0x18a SECS=0x19 MINS=0x19ITPUB个人空间3cT;n sKG
kfdhdb.ub4spare[0]: 0 ; 0x0ec: 0x00000000
tM(QI.H a0kfdhdb.ub4spare[1]: 0 ; 0x0f0: 0x00000000ITPUB个人空间R:fVQ,t7tp)E
kfdhdb.ub4spare[2]: 0 ; 0x0f4: 0x00000000
,k Ybu[(r0kfdhdb.ub4spare[3]: 0 ; 0x0f8: 0x00000000
GNG+aX0kfdhdb.ub4spare[4]: 0 ; 0x0fc: 0x00000000
.g9EM4yY0kfdhdb.ub4spare[5]: 0 ; 0x100: 0x00000000ITPUB个人空间(yt&M Wi:tx fPcM
kfdhdb.ub4spare[6]: 0 ; 0x104: 0x00000000ITPUB个人空间S y#p%?PKY)B!s4?e$j
kfdhdb.ub4spare[7]: 0 ; 0x108: 0x00000000
/T1I4[U`ze&s/C0kfdhdb.ub4spare[8]: 0 ; 0x10c: 0x00000000
Fq#a6P8~.j3R$_4n+h0kfdhdb.ub4spare[9]: 0 ; 0x110: 0x00000000ITPUB个人空间d#v V-a W3q
kfdhdb.ub4spare[10]: 0 ; 0x114: 0x00000000ITPUB个人空间@S1js/h#q$hd:Lx3VD
kfdhdb.ub4spare[11]: 0 ; 0x118: 0x00000000ITPUB个人空间#P X:c_]a"T1U
kfdhdb.ub4spare[12]: 0 ; 0x11c: 0x00000000ITPUB个人空间2Z~G"IF
kfdhdb.ub4spare[13]: 0 ; 0x120: 0x00000000ITPUB个人空间*C6Qo9G D|Hx-d|7R
kfdhdb.ub4spare[14]: 0 ; 0x124: 0x00000000
8P:M'| l9f]L-E0kfdhdb.ub4spare[15]: 0 ; 0x128: 0x00000000ITPUB个人空间/b| `h5M
kfdhdb.ub4spare[16]: 0 ; 0x12c: 0x00000000
~t-Ain4Q#fU0kfdhdb.ub4spare[17]: 0 ; 0x130: 0x00000000ITPUB个人空间nS3UIF
kfdhdb.ub4spare[18]: 0 ; 0x134: 0x00000000
;U HBv$dDo0kfdhdb.ub4spare[19]: 0 ; 0x138: 0x00000000ITPUB个人空间V c8jV0d1U|w
kfdhdb.ub4spare[20]: 0 ; 0x13c: 0x00000000ITPUB个人空间/S-_v6[1}fUC
kfdhdb.ub4spare[21]: 0 ; 0x140: 0x00000000
O _`_/j K0kfdhdb.ub4spare[22]: 0 ; 0x144: 0x00000000
+DX ?9G1w?4C0kfdhdb.ub4spare[23]: 0 ; 0x148: 0x00000000ITPUB个人空间!r _%{4bR$hL
kfdhdb.ub4spare[24]: 0 ; 0x14c: 0x00000000
CJ.@l,i8y!N L5q(@0kfdhdb.ub4spare[25]: 0 ; 0x150: 0x00000000
O4AJ"h+a'_1F#X0kfdhdb.ub4spare[26]: 0 ; 0x154: 0x00000000ITPUB个人空间!U!fsO{-`89a,t
kfdhdb.ub4spare[27]: 0 ; 0x158: 0x00000000
,XO)~6mo;Wa+t0kfdhdb.ub4spare[28]: 0 ; 0x15c: 0x00000000ITPUB个人空间Hov:iC
kfdhdb.ub4spare[29]: 0 ; 0x160: 0x00000000
2Pf#BE,"G0kfdhdb.ub4spare[30]: 0 ; 0x164: 0x00000000ITPUB个人空间5w ?-uUy
kfdhdb.ub4spare[31]: 0 ; 0x168: 0x00000000ITPUB个人空间K/L o%g"li,g
kfdhdb.ub4spare[32]: 0 ; 0x16c: 0x00000000
wZ,W'oeD0kfdhdb.ub4spare[33]: 0 ; 0x170: 0x00000000
xI:H9B*v~)S&t0kfdhdb.ub4spare[34]: 0 ; 0x174: 0x00000000
5g;CJU+^8]0kfdhdb.ub4spare[35]: 0 ; 0x178: 0x00000000
1BmAC0kfdhdb.ub4spare[36]: 0 ; 0x17c: 0x00000000ITPUB个人空间 h7yRV0LbH7cH
kfdhdb.ub4spare[37]: 0 ; 0x180: 0x00000000
4r(EU8G {[b&LFc0kfdhdb.ub4spare[38]: 0 ; 0x184: 0x00000000ITPUB个人空间6]A 1f$@*QO(H,Ts
kfdhdb.ub4spare[39]: 0 ; 0x188: 0x00000000ITPUB个人空间OT5b bv*Sr
kfdhdb.ub4spare[40]: 0 ; 0x18c: 0x00000000
)D^.I+~ ]5WQ0kfdhdb.ub4spare[41]: 0 ; 0x190: 0x00000000ITPUB个人空间J+`?+o"S|t n$B4l
kfdhdb.ub4spare[42]: 0 ; 0x194: 0x00000000ITPUB个人空间 X3q-L;|1y B
kfdhdb.ub4spare[43]: 0 ; 0x198: 0x00000000ITPUB个人空间+[ u j6u#a7@
kfdhdb.ub4spare[44]: 0 ; 0x19c: 0x00000000ITPUB个人空间:H y-zCE2T@_
kfdhdb.ub4spare[45]: 0 ; 0x1a0: 0x00000000ITPUB个人空间;n!p~,h @tn z,~ T
kfdhdb.ub4spare[46]: 0 ; 0x1a4: 0x00000000ITPUB个人空间0{,xhMr?L'
kfdhdb.ub4spare[47]: 0 ; 0x1a8: 0x00000000ITPUB个人空间+L$z&v5[1Y0p2S)J
kfdhdb.ub4spare[48]: 0 ; 0x1ac: 0x00000000
%c'[Qs%S|AF%g0kfdhdb.ub4spare[49]: 0 ; 0x1b0: 0x00000000ITPUB个人空间JCrnY-]
kfdhdb.ub4spare[50]: 0 ; 0x1b4: 0x00000000
^ J.{0V[ D?0kfdhdb.ub4spare[51]: 0 ; 0x1b8: 0x00000000
8KC&A ~C2h0kfdhdb.ub4spare[52]: 0 ; 0x1bc: 0x00000000
z(Ti;H.b3g#i1Rh!u0kfdhdb.ub4spare[53]: 0 ; 0x1c0: 0x00000000
"s&?%Qs |Iw/j U0kfdhdb.ub4spare[54]: 0 ; 0x1c4: 0x00000000
+u8cp2^ u,Y0kfdhdb.ub4spare[55]: 0 ; 0x1c8: 0x00000000ITPUB个人空间.V(M q R^ d
kfdhdb.ub4spare[56]: 0 ; 0x1cc: 0x00000000
4V%H1scDs.z(Z$d4W"e0kfdhdb.ub4spare[57]: 0 ; 0x1d0: 0x00000000ITPUB个人空间6~L"n&{;p:G h6_
kfdhdb.acdb.aba.seq: 0 ; 0x1d4: 0x00000000ITPUB个人空间 [8B7R Vu:m]Lm7ju^l
kfdhdb.acdb.aba.blk: 0 ; 0x1d8: 0x00000000ITPUB个人空间#@+v/e Zws#y
kfdhdb.acdb.ents: 0 ; 0x1dc: 0x0000ITPUB个人空间I0H'b@aWp8m"bnw
kfdhdb.acdb.ub2spare: 0 ; 0x1de: 0x0000
^:A%s(B9R_b0从上面读出的内容,我们可以获取以下信息:ITPUB个人空间 ~ A:K;L-p ]?Ds
dsknum:磁盘号ITPUB个人空间Ay)Z,u3uP
grptyp:磁盘所属类型EXTERNAL REDUNDANCY
4H9U%e qL,z3X/Q0磁盘所属类型主要有:
(C+]1E`V-a0NORMAL REDUNDANCY - Two-way mirroring, requiring two failure groups.ITPUB个人空间Pqv-S/yKM"y:GN
HIGH REDUNDANCY - Three-way mirroring, requiring three failure groups.ITPUB个人空间!~R-H8{!U|Re:K?
EXTERNAL REDUNDANCY - No mirroring for disks that are already protected using hardwaremirroring or RAID.ITPUB个人空间Q!q0Y3_4?
ddrsts:磁盘头状态ITPUB个人空间(s$E_qr!c V
dskname:在asm中磁盘名
l+B9^9C4h@5Sisj0grpname:磁盘组名ITPUB个人空间|Cr8ag9c;g#E].tG
fgname:failure group name
^ wr:L4z?"t-G0crestmp.hi:asm磁盘组创建时间ITPUB个人空间,FZ!D'jPq"J5
mntstmp.hi:asm磁盘组mount时间ITPUB个人空间6|r H@P@C
blksize:磁盘头块大小 4096
+G Zb xQ+Ju mu)M{0ausize:条带化大小 默认1M
~m"L#AkQZ0dsksize:磁盘大小ITPUB个人空间p,n-T1?-G0N I/}
f1b1locn:File Directory blk 1 AU numITPUB个人空间 dw4X)Li8}EU}
Beginging for file directory
wX&G#N'R:Z&P02、磁盘头有使用dd备份下的恢复:1)使用dd备份:
s$H,{6w-fd6t0因为磁盘头信息只占用最前面4k内容,所以我们可以用dd只备份前面4k内容:
ro7s.ts,?mA&s-E0[oracle@p520:/]$dd if=/dev/rhdisk5 f=/oracle/hdisk5header bs=4096 count=1ITPUB个人空间x-[%zJ:H y&t.`b$1o
1+0 records in.
t{ ~R01+0 records out.
0Ow7OKl h&Ti3d0[oracle@p520:/]$dd if=/dev/rhdisk3 f=/oracle/hdisk3header bs=4096 count=1ITPUB个人空间@^g5i0bi m~
1+0 records in.
It1u:M;FY01+0 records out.2)使用dd恢复:ITPUB个人空间(h:C"F]'U)[ d q
dd破坏hdisk5 磁盘头信息ITPUB个人空间7D@+w$hCH
[oracle@p520:/oracle]$dd if=/dev/zero f=/dev/rhdisk5 bs=4096 count=1
JE@'S^ M }W01+0 records in.
!M-|'Ft$y01+0 records out.ITPUB个人空间.w agz ^0J Q
损坏磁盘头信息如下:ITPUB个人空间{5CI8?oIadKj,{'n
[oracle@p520:/oracle]$kfed read /dev/rhdisk5
cA2S/K$r+oh0kfbh.endian: 0 ; 0x000: 0x00
,]s*Y+x9`5S^5UR0kfbh.hard: 0 ; 0x001: 0x00
"f+GA2?/k0f0kfbh.type: 0 ; 0x002: KFBTYP_INVALID
s;t(k1F ~S1{0kfbh.datfmt: 0 ; 0x003: 0x00
S$C.N`He{0C h n0kfbh.block.blk: 0 ; 0x004: T=0 NUMB=0x0
G9JYG:G9gl*`0kfbh.block.obj: 0 ; 0x008: TYPE=0x0 NUMB=0x0
8X)x[ `+H0k5uc,X0kfbh.check: 0 ; 0x00c: 0x00000000ITPUB个人空间 C$@ R)tQ k-]xMT;}
kfbh.fcn.base: 0 ; 0x010: 0x00000000ITPUB个人空间+^ V-Av^b
kfbh.fcn.wrap: 0 ; 0x014: 0x00000000
c _ Hu(r)Q"}0kfbh.spare1: 0 ; 0x018: 0x00000000
LKWL}Q;?s6O0kfbh.spare2: 0 ; 0x01c: 0x00000000ITPUB个人空间'Tc.?sz
可以看到,磁盘头相关信息丢失。asm实例启动时报以下错误信息:ITPUB个人空间[k5T? {kp
SQL> startup
_A,J4k$DtE0ASM instance started
Vyf;]XF0Total System Global Area 130023424 bytesITPUB个人空间*fH$tf8Z9GDd4y$|
Fixed Size 2019136 bytesITPUB个人空间{"Mc:G faZi4c
Variable Size 102838464 bytesITPUB个人空间,V rK j"L
ASM Cache 25165824 bytes
w;mQ)@7z,w0ORA-15032: not all alterations performed
+Qb p7Eld {"Vo0ORA-15063: ASM discovered an insufficient number of disks for diskgroup "DATA"
py$vxN/[y0SQL> select name,state from v$asm_diskgroup;NAME STATEITPUB个人空间cB#I@JqL
----------- -------------
&AzQ uO'dVe5U0DATA DISMOUNTED
]wNq)l J8Zq"R0SQL> alter diskgroup data mount;ITPUB个人空间rw;K"v zCZ
alter diskgroup data mount
X5z9HE@0*ITPUB个人空间t#d;i+F%w Ju
ERROR at line 1:ITPUB个人空间6k1WBU;v2
ORA-15032: not all alterations performed
%W c$rBojoWVLf0ORA-15063: ASM discovered an insufficient number of disks for diskgroup "DATA"Asm实例日志记录以下内容:
jN G/Z.E+@0Thu May 27 11:00:03 2010ITPUB个人空间vN h(m s&JgO}
ERROR: no PST quorum in group 1: required 1, found 0ITPUB个人空间/fFZWxMD M
Thu May 27 11:00:03 2010
|kP2P t6J0NOTE: cache dismounting group 1/0x1E9B7FD5 (DATA)ITPUB个人空间vS g5WM5aX
NOTE: dbwr not being msg'd to dismountITPUB个人空间 ?3pNr|H9LM
ERROR: diskgroup DATA was not mounted使用dd进行恢复:
*mfa#v]M0[oracle@p520:/oracle]$dd if=/oracle/hdisk5header f=/dev/rhdisk5 bs=4096 count=1ITPUB个人空间qIu2D(zV/rM
1+0 records in.ITPUB个人空间 Y;gAW8O6H
1+0 records out.这时可以正常读取磁盘头信息:ITPUB个人空间HV+~,Lj U+Z2S
[oracle@p520:/oracle]$kfed read /dev/rhdisk5
$Bg R}Zj#G tx5m j0kfbh.endian: 0 ; 0x000: 0x00
4L,wpN-u1eUY/_0kfbh.hard: 130 ; 0x001: 0x82ITPUB个人空间&sA:g B CzoP/^
kfbh.type: 1 ; 0x002: KFBTYP_DISKHEADITPUB个人空间6ryLl#cn1a
kfbh.datfmt: 1 ; 0x003: 0x01ITPUB个人空间#KoT9_8lD
kfbh.block.blk: 0 ; 0x004: T=0 NUMB=0x0ITPUB个人空间9|yIl/iKqII
kfbh.block.obj: 2147483648 ; 0x008: TYPE=0x8 NUMB=0x0ITPUB个人空间 o2h3X6t#Dz]WE
kfbh.check: 257017006 ; 0x00c: 0x0f51c4aeITPUB个人空间[.L_I(zp*X
kfbh.fcn.base: 578 ; 0x010: 0x00000242
#pS lo9Hi,N0kfbh.fcn.wrap: 0 ; 0x014: 0x00000000ITPUB个人空间.f x Mzw
kfbh.spare1: 0 ; 0x018: 0x00000000ITPUB个人空间Z*BE+H@-O*o(H"G;Y
kfbh.spare2: 0 ; 0x01c: 0x00000000
/z!L1`x RK2xa0kfdhdb.driver.provstr: ORCLDISK ; 0x000: length=8ITPUB个人空间:wJSp| V/SZ
kfdhdb.driver.reserved[0]: 0 ; 0x008: 0x00000000
:r|uCt[0kfdhdb.driver.reserved[1]: 0 ; 0x00c: 0x00000000ITPUB个人空间a9B$|nJ R!Src
kfdhdb.driver.reserved[2]: 0 ; 0x010: 0x00000000ITPUB个人空间+[gC4H:H;Y(? aWz
kfdhdb.driver.reserved[3]: 0 ; 0x014: 0x00000000
${9[8}%Qb0kfdhdb.driver.reserved[4]: 0 ; 0x018: 0x00000000ITPUB个人空间 d$QJ|w0ck
kfdhdb.driver.reserved[5]: 0 ; 0x01c: 0x00000000ITPUB个人空间1u2_9ye4v D $u
kfdhdb.compat: 168820736 ; 0x020: 0x0a100000
i-C"N~6D;u_MI"{0kfdhdb.dsknum: 0 ; 0x024: 0x0000ITPUB个人空间e4kp+k G
kfdhdb.grptyp: 1 ; 0x026: KFDGTP_EXTERNALITPUB个人空间X$st[6Mu X
kfdhdb.hdrsts: 3 ; 0x027: KFDHDR_MEMBER
qF#a__5Fs DDJr0kfdhdb.dskname: DATA_0000 ; 0x028: length=9
7Wb!QX.lL'd,hz0kfdhdb.grpname: DATA ; 0x048: length=4ITPUB个人空间-o}Z VE;tK)[
kfdhdb.fgname: DATA_0000 ; 0x068: length=9ITPUB个人空间@&O$|0Zx-mh8yvVV
kfdhdb.capname: ; 0x088: length=0
s%b 7yv0kfdhdb.crestmp.hi: 32937833 ; 0x0a8: HOUR=0x9 DAYS=0x1b MNTH=0x5 YEAR=0x7daITPUB个人空间L8HH7F/apG M
kfdhdb.crestmp.lo: 1704514560 ; 0x0ac: USEC=0x0 MSEC=0x235 SECS=0x19 MINS=0x19
gP W.Y~0kfdhdb.mntstmp.hi: 32937834 ; 0x0b0: HOUR=0xa DAYS=0x1b MNTH=0x5 YEAR=0x7da
sOzsW0kfdhdb.mntstmp.lo: 679906304 ; 0x0b4: USEC=0x0 MSEC=0x1a3 SECS=0x8 MINS=0xa
+wh#c$xH"l0kfdhdb.secsize: 512 ; 0x0b8: 0x0200
4~7mN(Y6D0kfdhdb.blksize: 4096 ; 0x0ba: 0x1000ITPUB个人空间:[*{HmEs/Ao;N G%a
kfdhdb.ausize: 1048576 ; 0x0bc: 0x00100000ITPUB个人空间 NS1PSY%x1w3E
kfdhdb.mfact: 113792 ; 0x0c0: 0x0001bc80
A)u L r3N}%J0kfdhdb.dsksize: 51200 ; 0x0c4: 0x0000c800
4EP&db{} J0kfdhdb.pmcnt: 2 ; 0x0c8: 0x00000002ITPUB个人空间4U8D kI2J:ku`+x
kfdhdb.fstlocn: 1 ; 0x0cc: 0x00000001
Q-m$~+zDk0kfdhdb.altlocn: 2 ; 0x0d0: 0x00000002ITPUB个人空间k*dh G(Ju)m6Y
kfdhdb.f1b1locn: 2 ; 0x0d4: 0x00000002ITPUB个人空间#l`&g'oH }(|)Q5C
kfdhdb.redomirrors[0]: 0 ; 0x0d8: 0x0000
E7PiTpl!e,I0S0kfdhdb.redomirrors[1]: 65535 ; 0x0da: 0xffffITPUB个人空间$L-}B_!`C(T C
kfdhdb.redomirrors[2]: 65535 ; 0x0dc: 0xffffITPUB个人空间u.D1` O/B0Q
kfdhdb.redomirrors[3]: 65535 ; 0x0de: 0xffff
m&ST2z il4Xn0kfdhdb.dbcompat: 168820736 ; 0x0e0: 0x0a100000ITPUB个人空间_&F;cu:z2RqK
kfdhdb.grpstmp.hi: 32937833 ; 0x0e4: HOUR=0x9 DAYS=0x1b MNTH=0x5 YEAR=0x7da
We}],c#z8R0kfdhdb.grpstmp.lo: 1704339456 ; 0x0e8: USEC=0x0 MSEC=0x18a SECS=0x19 MINS=0x19
Y&j"J!pLb0kfdhdb.ub4spare[0]: 0 ; 0x0ec: 0x00000000ITPUB个人空间'{I Z+ia
kfdhdb.ub4spare[1]: 0 ; 0x0f0: 0x00000000
x}+H"J F |0kfdhdb.ub4spare[2]: 0 ; 0x0f4: 0x00000000ITPUB个人空间Z;Ng.U9P6Yh'v
kfdhdb.ub4spare[3]: 0 ; 0x0f8: 0x00000000
)?UoE a0kfdhdb.ub4spare[4]: 0 ; 0x0fc: 0x00000000
p s{AVcP|;Hl"i0kfdhdb.ub4spare[5]: 0 ; 0x100: 0x00000000ITPUB个人空间;@[] iCF-y!H
kfdhdb.ub4spare[6]: 0 ; 0x104: 0x00000000
ix`:IZWtC0kfdhdb.ub4spare[7]: 0 ; 0x108: 0x00000000
%w5uF.??!n2Fo0kfdhdb.ub4spare[8]: 0 ; 0x10c: 0x00000000ITPUB个人空间L:lO5wE&l(Z@7f
kfdhdb.ub4spare[9]: 0 ; 0x110: 0x00000000
G9lg5vd!X;gYxoZ0kfdhdb.ub4spare[10]: 0 ; 0x114: 0x00000000ITPUB个人空间PJCa!iRN0W w5`n
kfdhdb.ub4spare[11]: 0 ; 0x118: 0x00000000ITPUB个人空间iF@*LNO wp)Dl
kfdhdb.ub4spare[12]: 0 ; 0x11c: 0x00000000
(?]6s:a!_`{)nD(F0kfdhdb.ub4spare[13]: 0 ; 0x120: 0x00000000ITPUB个人空间&H(dC oQu2m%qS
kfdhdb.ub4spare[14]: 0 ; 0x124: 0x00000000
0R.B;XPj7z)t0kfdhdb.ub4spare[15]: 0 ; 0x128: 0x00000000ITPUB个人空间Q*sDcm2U|+t%S
kfdhdb.ub4spare[16]: 0 ; 0x12c: 0x00000000ITPUB个人空间'wbAy0JH Bn&o;X{
kfdhdb.ub4spare[17]: 0 ; 0x130: 0x00000000
`nd+P~ Y|i0kfdhdb.ub4spare[18]: 0 ; 0x134: 0x00000000
:{9c Q0E:K A"J&?0kfdhdb.ub4spare[19]: 0 ; 0x138: 0x00000000
Y8Ug ZTc0kfdhdb.ub4spare[20]: 0 ; 0x13c: 0x00000000ITPUB个人空间7U%m ED8UB
kfdhdb.ub4spare[21]: 0 ; 0x140: 0x00000000ITPUB个人空间"qV3x,t'A
kfdhdb.ub4spare[22]: 0 ; 0x144: 0x00000000
1vQ:L7q%Smbj0kfdhdb.ub4spare[23]: 0 ; 0x148: 0x00000000
wr[2A_C2|8E0kfdhdb.ub4spare[24]: 0 ; 0x14c: 0x00000000ITPUB个人空间jUB5|Z*Y[
kfdhdb.ub4spare[25]: 0 ; 0x150: 0x00000000ITPUB个人空间 ?!M4t%zn5wm
kfdhdb.ub4spare[26]: 0 ; 0x154: 0x00000000
H%G^7GPJ A R"^ l0kfdhdb.ub4spare[27]: 0 ; 0x158: 0x00000000
vm%I2P.X$@#s2]!C5E0kfdhdb.ub4spare[28]: 0 ; 0x15c: 0x00000000
M;z"m%HOl0kfdhdb.ub4spare[29]: 0 ; 0x160: 0x00000000
;Ul,A#wMcQy:S0kfdhdb.ub4spare[30]: 0 ; 0x164: 0x00000000
;|6pKB7T/Xl(L#]0kfdhdb.ub4spare[31]: 0 ; 0x168: 0x00000000
/a| n,qN7j:UVw`0kfdhdb.ub4spare[32]: 0 ; 0x16c: 0x00000000ITPUB个人空间 j2oL9S:O/P e2V
kfdhdb.ub4spare[33]: 0 ; 0x170: 0x00000000ITPUB个人空间n0cl0m T6N Gjx
kfdhdb.ub4spare[34]: 0 ; 0x174: 0x00000000ITPUB个人空间;r6`0B.k!w'R6J
kfdhdb.ub4spare[35]: 0 ; 0x178: 0x00000000ITPUB个人空间%@Hs4t7s]I
kfdhdb.ub4spare[36]: 0 ; 0x17c: 0x00000000ITPUB个人空间H"Wd$Z pa
kfdhdb.ub4spare[37]: 0 ; 0x180: 0x00000000
6E1a/|8a)FO0kfdhdb.ub4spare[38]: 0 ; 0x184: 0x00000000ITPUB个人空间$n)?^}
kfdhdb.ub4spare[39]: 0 ; 0x188: 0x00000000
J1n)S8^ HK"du?&`~0kfdhdb.ub4spare[40]: 0 ; 0x18c: 0x00000000
f8Y9G jr#k8|0kfdhdb.ub4spare[41]: 0 ; 0x190: 0x00000000
%K6}l*`"A3T"p&m0kfdhdb.ub4spare[42]: 0 ; 0x194: 0x00000000
:q/I.H![.x7a+Qz0kfdhdb.ub4spare[43]: 0 ; 0x198: 0x00000000ITPUB个人空间*Z2EP{O:h
kfdhdb.ub4spare[44]: 0 ; 0x19c: 0x00000000
5J _8iIN#r0kfdhdb.ub4spare[45]: 0 ; 0x1a0: 0x00000000
EM C8f/z0{7RSN(a0kfdhdb.ub4spare[46]: 0 ; 0x1a4: 0x00000000
-FF;CD"o+c0kfdhdb.ub4spare[47]: 0 ; 0x1a8: 0x00000000
s&|~Jkk_'hg Q0kfdhdb.ub4spare[48]: 0 ; 0x1ac: 0x00000000ITPUB个人空间Y7G;` o jW
kfdhdb.ub4spare[49]: 0 ; 0x1b0: 0x00000000
.aY1n%1k#e,_8L.x0kfdhdb.ub4spare[50]: 0 ; 0x1b4: 0x00000000
4c&tIfsmy(X0kfdhdb.ub4spare[51]: 0 ; 0x1b8: 0x00000000ITPUB个人空间z8L-^?7N,k*L&ei
kfdhdb.ub4spare[52]: 0 ; 0x1bc: 0x00000000ITPUB个人空间/G)DPXM @ D
kfdhdb.ub4spare[53]: 0 ; 0x1c0: 0x00000000
6r,r t B+iY1i0b0kfdhdb.ub4spare[54]: 0 ; 0x1c4: 0x00000000
X^Ru3BXj0kfdhdb.ub4spare[55]: 0 ; 0x1c8: 0x00000000
!m~O m"c1Y} K5l0kfdhdb.ub4spare[56]: 0 ; 0x1cc: 0x00000000ITPUB个人空间+h"h)aa{I9lo*d
kfdhdb.ub4spare[57]: 0 ; 0x1d0: 0x00000000
VYV"Iyc0kfdhdb.acdb.aba.seq: 0 ; 0x1d4: 0x00000000ITPUB个人空间$a+@ XmX~QYA
kfdhdb.acdb.aba.blk: 0 ; 0x1d8: 0x00000000ITPUB个人空间l@%fB-Oq4D
kfdhdb.acdb.ents: 0 ; 0x1dc: 0x0000ITPUB个人空间:O j6ut i!IG^x
kfdhdb.acdb.ub2spare: 0 ; 0x1de: 0x0000磁盘组可以正常mount:
*~L'~5h Or2K,R0SQL> alter diskgroup data mount;
2g+b9SOa6T0Diskgroup altered.ITPUB个人空间l*`h!^0}GwP1^5D
:Z Q-p hai4e3n Y0SQL> select name,state from v$asm_diskgroup;NAME STATE
9vuR#NJ;yMp,B0------ ----------ITPUB个人空间pW|I:Uj+`
DATA MOUNTED
T:A_(p/J{03、磁盘头有使用kfed备份下的恢复:1)使用kfed备份磁盘头信息:
!}+{Y[WU?*l t0[oracle@p520:/oracle]$kfed read /dev/rhdisk5 > /oracle/hdisk5backup.txt
@7LfQ j4HV7|0[oracle@p520:/oracle]$kfed read /dev/rhdisk3 > /oracle/hdisk3backup.txt
#I*k%b#{4X#Ui?D?0-rw-r--r-- 1 oracle oinstall 6607 May 27 11:11 hdisk5backup.txt
US K{[)rC5P |o)ir"d0-rw-r--r-- 1 oracle oinstall 6607 May 27 11:11 hdisk3backup.txt2)使用kfed恢复:
zmX }[F4G0使用dd破坏file directory即hdisk5磁盘头信息
o)xg"Dr3u[ h0[oracle@p520:/oracle]$dd if=/dev/zero f=/dev/rhdisk5 bs=4096 count=1ITPUB个人空间o+] Bs {%u9U
1+0 records in.
$T/kF{G%m"h;H01+0 records out.ITPUB个人空间uOLr5y,@ Ap
SQL> alter diskgroup data mount;ITPUB个人空间1p"i Z B!MK
alter diskgroup data mountITPUB个人空间D ^u!t R,ruc
*
s+k$R nV0ERROR at line 1:ITPUB个人空间 _1P_Q_e'o8h`)S
ORA-15032: not all alterations performed
pl;R1eVD{0ORA-15063: ASM discovered an insufficient number of disks for diskgroup "DATA";因为hdisk5是file directory,所以报上面错误信息,如果是hdisk3磁盘头损坏,则报:
5e `cUu x0ERROR at line 1:ITPUB个人空间 y-|8Y"@W*H
ORA-15032: not all alterations performedITPUB个人空间/qG$rog^
ORA-15040: diskgroup is incomplete
o9t:IgC CTf0ORA-15042: ASM disk "1" is missing恢复用kfed merge命令ITPUB个人空间ztg.@s J$H$hxy
[oracle@p520:/oracle]$kfed merge /dev/rhdisk5 text=/oracle/hdisk5backup.txtITPUB个人空间%v.@ w2bNX j q;p
N`"g0n Jy.A%Q ^0SQL> alter diskgroup data mount;ITPUB个人空间K;?Buv$I1DY
Diskgroup alter使用dd破坏hdisk3磁盘头信息ITPUB个人空间"y&bg7{l%JC
[oracle@p520:/oracle]$dd if=/dev/zero f=/dev/rhdisk3 bs=4096 count=1
1@8z'~L5J_ L)FY01+0 records in.
&g}7p'i.rhZh01+0 records out.
i`2f9@yEL-x)A Ur0SQL> alter diskgroup data mount;
D{#P?&Ss}4{0alter diskgroup data mount
SWE5I3T,`;z0*ITPUB个人空间4mR B5f+[
SQL> alter diskgroup data mount;ITPUB个人空间)XD'IKoQ4wbzU;Z-m(k
alter diskgroup data mountITPUB个人空间|0sJ T@ U?
*ITPUB个人空间k s[d#L*Y
ERROR at line 1:
?)]q-k1HaH0ORA-15032: not all alterations performedITPUB个人空间"pl8y.O"tN
ORA-15040: diskgroup is incomplete
4Y3R0np KD0ORA-15042: ASM disk "1" is missing恢复用kfed merge命令ITPUB个人空间~:O]B t(|8ty
[oracle@p520:/oracle]$kfed merge /dev/rhdisk3 text=/oracle/hdisk3backup.txt
$gbP)WW)r8z.dfj0ITPUB个人空间rN.P"~_N)G7J l
SQL> alter diskgroup data mount;
$~ a]1H0_[y:b[o0Diskgroup altere
y A-Ha"(S&qm04、磁盘头没有进行备份,但不是file directory磁盘头的信息丢失的恢复:1)首先确定磁盘是否为file directory盘;如果我们确定hdisk5 是file directory盘。
2)破坏非file directory盘hdisk3头信息:ITPUB个人空间_ltQ-~+L
破坏hdisk3磁盘头:
d7]$J5](Z.jf2~0[oracle@p520:/oracle]$dd if=/dev/zero f=/dev/rhdisk3 bs=4096 count=1ITPUB个人空间N,d gd K.^rZ$^
1+0 records in.
|)tor,|Y/B01+0 records out.
eFM'tI LA0[oracle@p520:/oracle]$kfed read /dev/rhdisk3ITPUB个人空间;W+?zO!O^Zh
kfbh.endian: 0 ; 0x000: 0x00ITPUB个人空间8_[*_-ZX%j?o]
kfbh.hard: 0 ; 0x001: 0x00ITPUB个人空间Q o"W6QH-ol
kfbh.type: 0 ; 0x002: KFBTYP_INVALIDITPUB个人空间E/sJcF
kfbh.datfmt: 0 ; 0x003: 0x00ITPUB个人空间xzA0A1mN
kfbh.block.blk: 0 ; 0x004: T=0 NUMB=0x0ITPUB个人空间7a~o'`#DAI/JS:G
kfbh.block.obj: 0 ; 0x008: TYPE=0x0 NUMB=0x0
8h[ ~&wu1P'e$O0kfbh.check: 0 ; 0x00c: 0x00000000
:?y+W$kL ti d0kfbh.fcn.base: 0 ; 0x010: 0x00000000
,c)`&e%C/icZ0kfbh.fcn.wrap: 0 ; 0x014: 0x00000000
:q}v/t `S?*K0kfbh.spare1: 0 ; 0x018: 0x00000000
0q:[rd_ r0kfbh.spare2: 0 ; 0x01c: 0x00000000检查diskgroup
1Bh$D4g;e%[]0SQL> alter diskgroup data mount;ITPUB个人空间XY*w'Fhvp$az
alter diskgroup data mount
[Z)R"eA$T3A0*ITPUB个人空间m)v+Y8r+ro*d
ERROR at line 1:ITPUB个人空间$R4I(tk3f5]S]1n
ORA-15032: not all alterations performed
I3E!j'c'[0ORA-15040: diskgroup is incompleteITPUB个人空间-k ;]!v+E{
ORA-15042: ASM disk "1" is missing3)根据file directory hdisk5查找disk directory信息;可以用select name,path from v$asm_disk查
出。
4)根据disk directory hdisk3找出磁盘信息;从里面可以得到hdisk3磁盘信息ITPUB个人空间;z stY {
kfddde[1].dsknum: 1 ; 0x1f4: 0x0001ITPUB个人空间I9xs@,aL `h
kfddde[1].dskname: DATA_0001 ; 0x1f8: length=9
8Fp:w{a#~ oM9C0kfddde[1].fgname: DATA_0001 ; 0x218: length=9
$BUA,Z(?5k.R2Kfk0kfddde[1].crestmp.hi: 32937837 ; 0x238: HOUR=0x9 DAYS=0x1b MNTH=0x5 YEAR=0x7da
*v/L])J.L0kfddde[1].crestmp.lo: 1899649024 ; 0x23c: USEC=0x0 MSEC=0x296 SECS=0x13 MINS=0x1cITPUB个人空间H i;iFz,RV i
kfddde[1].size: 1024 ; 0x24c: 0x000004005)根据以上信息生成恢复hdisk3磁盘头文件:
.Hp4T)fxh0这里我们可以用hdisk5来修改:
`D0b ~4l0kfed read /dev/rhdisk5 > /oracle/hdisk5.txtITPUB个人空间F,l-L qT[p
kfbh.block.obj: 2147483648 ; 0x008: TYPE=0x8 NUMB=0x0
7f4KO3M6a;1JtI4y0kfdhdb.dsknum: 0; 0x024: 0x0000
/[v:J @g[C!f0kfdhdb.dskname: DATA_0000 ; 0x028: length=9
f2{xf] e.]3q%B0kfdhdb.fgname: DATA_0000 ; 0x068: length=9
*d}!_a3k7zA0kfdhdb.crestmp.hi: 32937833 ; 0x0a8: HOUR=0x9 DAYS=0x1b MNTH=0x5 YEAR=0x7daITPUB个人空间7n C}CO%v8PT!Cg9W}#?
kfdhdb.crestmp.lo: 1704514560 ; 0x0ac: USEC=0x0 MSEC=0x235 SECS=0x19 MINS=0x19
e)mm-z k:tKm}Nx0kfdhdb.dsksize: 51200 ; 0x0c4: 0x0000c800将上面值修改为以下值:
7q qYo4{T0kfbh.block.obj: 2147483649 ; 0x008: TYPE=0x8 NUMB=0x0
} X"oR:QEWt0kfdhdb.dsknum: 1 ; 0x024: 0x0000ITPUB个人空间e_)^p a0qyh
kfdhdb.dskname: DATA_0001 ; 0x028: length=9
:t)lgRP2t"v#PMJ0kfdhdb.fgname: DATA_0001 ; 0x068: length=9
S{'['uIN | u^] HX.D0kfdhdb.crestmp.hi: 32937837 ; 0x0a8: HOUR=0x9 DAYS=0x1b MNTH=0x5 YEAR=0x7da
eU0^7Jabmy0kfdhdb.crestmp.lo: 1899649024; 0x0ac: USEC=0x0 MSEC=0x235 SECS=0x19 MINS=0x19ITPUB个人空间(Lc"|Z&Q cIK Z
kfdhdb.dsksize: 1024 ; 0x0c4: 0x0000c800
Y&hR"IS0这个最好用ultraedit编辑,生成hdisk3.txt;kfed merge进去头文件信息到hdisk3:ITPUB个人空间)Q'f9^yP([kqdY
[oracle@p520:/oracle]$kfed merge /dev/rhdisk3 text=/oracle/hdisk3.txt验证是否修复成功:
i,?pQ]J(gNU:P0SQL> alter diskgroup data mount;ITPUB个人空间aY8+Z V
Diskgroup altered.
&hu I-@8yW0并且能够正确读取磁盘头信息:
"_.OdqjG'A-U0[oracle@p520:/oracle]$kfed read /dev/rhdisk3
"M5cHR2w#[2J*YE)b0kfbh.endian: 0 ; 0x000: 0x00
x/eO ]Y;O-qT,o:KP0kfbh.hard: 130 ; 0x001: 0x82ITPUB个人空间a.ykoDA$vN/M%J
kfbh.type: 1 ; 0x002: KFBTYP_DISKHEADITPUB个人空间3COLn)^ UK~
kfbh.datfmt: 1 ; 0x003: 0x01ITPUB个人空间 ^X@h*t^:}3|
kfbh.block.blk: 0 ; 0x004: T=0 NUMB=0x0
{7b4k?Y$dmK0kfbh.block.obj: 2147483649 ; 0x008: TYPE=0x8 NUMB=0x1ITPUB个人空间/TaX#it6X
kfbh.check: 3781987247 ; 0x00c: 0xe16c8baf
}Q2peoE8MV0kfbh.fcn.base: 0 ; 0x010: 0x00000000ITPUB个人空间;KZ4O{3rF
kfbh.fcn.wrap: 0 ; 0x014: 0x00000000ITPUB个人空间A#b&F;~%p,j)n${
kfbh.spare1: 0 ; 0x018: 0x00000000
"Bmb} y)o0d0kfbh.spare2: 0 ; 0x01c: 0x00000000
.{6o m#XV8p2u,aA0kfdhdb.driver.provstr: ORCLDISK ; 0x000: length=8
9B.` w^B,E![2f%W H.J0kfdhdb.driver.reserved[0]: 0 ; 0x008: 0x00000000
M`$C9@#C+xO0kfdhdb.driver.reserved[1]: 0 ; 0x00c: 0x00000000ITPUB个人空间*PA8i LMB5E+Q}(d
kfdhdb.driver.reserved[2]: 0 ; 0x010: 0x00000000
0"CBgx3z0kfdhdb.driver.reserved[3]: 0 ; 0x014: 0x00000000ITPUB个人空间.~&F)JXFyX
kfdhdb.driver.reserved[4]: 0 ; 0x018: 0x00000000ITPUB个人空间-R#NGm-l`B
kfdhdb.driver.reserved[5]: 0 ; 0x01c: 0x00000000ITPUB个人空间*V7G5@JYaLk7I4~
kfdhdb.compat: 168820736 ; 0x020: 0x0a100000ITPUB个人空间#i1Q {/f.Kna
kfdhdb.dsknum: 1 ; 0x024: 0x0001
FEXg9S0kfdhdb.grptyp: 1 ; 0x026: KFDGTP_EXTERNAL
4t I#LBm;H8r#f+q0kfdhdb.hdrsts: 3 ; 0x027: KFDHDR_MEMBERITPUB个人空间!Z:H gPk W/Gy
kfdhdb.dskname: DATA_0001 ; 0x028: length=9ITPUB个人空间9YK:F?G-X~4^
kfdhdb.grpname: DATA ; 0x048: length=4
5Lr2S RL(uJ0kfdhdb.fgname: DATA_0001 ; 0x068: length=9ITPUB个人空间q"S!jCT*]
kfdhdb.capname: ; 0x088: length=0
lH9Q7C!@8p-g#L0kfdhdb.crestmp.hi: 32937837 ; 0x0a8: HOUR=0x9 DAYS=0x1b MNTH=0x5 YEAR=0x7da
#wL(t0e/r:xUdD"X/t0kfdhdb.crestmp.lo: 1899649024 ; 0x0ac: USEC=0x0 MSEC=0x296 SECS=0x13 MINS=0x1cITPUB个人空间%C9Y?5Q/z"s
kfdhdb.mntstmp.hi: 32937834 ; 0x0b0: HOUR=0xa DAYS=0x1b MNTH=0x5 YEAR=0x7da
`} IU8z%J0kfdhdb.mntstmp.lo: 679906304 ; 0x0b4: USEC=0x0 MSEC=0x1a3 SECS=0x8 MINS=0xaITPUB个人空间 `6W;Uu9U)rN
kfdhdb.secsize: 512 ; 0x0b8: 0x0200
'sS&xkl&d_9g8z X-V N0kfdhdb.blksize: 4096 ; 0x0ba: 0x1000
iYT }{M0kfdhdb.ausize: 1048576 ; 0x0bc: 0x00100000
-g2X/x#hX3T*w!p*n{0kfdhdb.mfact: 113792 ; 0x0c0: 0x0001bc80
e,cSm(N R IF0kfdhdb.dsksize: 1024 ; 0x0c4: 0x00000400ITPUB个人空间G.i'x9]6Lr*gww
kfdhdb.pmcnt: 2 ; 0x0c8: 0x00000002
.^*YqKnR0kfdhdb.fstlocn: 1 ; 0x0cc: 0x00000001ITPUB个人空间`/j#n;a;D
kfdhdb.altlocn: 2 ; 0x0d0: 0x00000002ITPUB个人空间^5jj I K
kfdhdb.f1b1locn: 0 ; 0x0d4: 0x00000000ITPUB个人空间 _U8gw6x&Yl
kfdhdb.redomirrors[0]: 0 ; 0x0d8: 0x0000
c,~S n9J1R:]0kfdhdb.redomirrors[1]: 0 ; 0x0da: 0x0000
!zZDL]-}H0q:c0kfdhdb.redomirrors[2]: 0 ; 0x0dc: 0x0000
4]Q)U j{|[1tG0kfdhdb.redomirrors[3]: 0 ; 0x0de: 0x0000ITPUB个人空间)p^ w II
kfdhdb.dbcompat: 168820736 ; 0x0e0: 0x0a100000
's(T0X-CkUv`#BA6[0kfdhdb.grpstmp.hi: 32937833 ; 0x0e4: HOUR=0x9 DAYS=0x1b MNTH=0x5 YEAR=0x7daITPUB个人空间"M8R2|x2|4E `,O
kfdhdb.grpstmp.lo: 1704339456 ; 0x0e8: USEC=0x0 MSEC=0x18a SECS=0x19 MINS=0x19
!T*K8v3T3rK?0kfdhdb.ub4spare[0]: 0 ; 0x0ec: 0x00000000ITPUB个人空间7p]$N$j?1XL0I
kfdhdb.ub4spare[1]: 0 ; 0x0f0: 0x00000000
(s3p2PqR1b8f$BY?+N0kfdhdb.ub4spare[2]: 0 ; 0x0f4: 0x00000000
+C!|e }7fs.h0kfdhdb.ub4spare[3]: 0 ; 0x0f8: 0x00000000ITPUB个人空间 j _4eG!X8Ze
kfdhdb.ub4spare[4]: 0 ; 0x0fc: 0x00000000
M&hP2e;EK;LFn0kfdhdb.ub4spare[5]: 0 ; 0x100: 0x00000000
3IR-t B%sb.rf+P0kfdhdb.ub4spare[6]: 0 ; 0x104: 0x00000000
%Lt:Q,#yy9hN0kfdhdb.ub4spare[7]: 0 ; 0x108: 0x00000000ITPUB个人空间!X t#o?T
kfdhdb.ub4spare[8]: 0 ; 0x10c: 0x00000000
X8KRm[_6C/s3m3eZ0kfdhdb.ub4spare[9]: 0 ; 0x110: 0x00000000
#Nc:c Q-i?["x0kfdhdb.ub4spare[10]: 0 ; 0x114: 0x00000000
8^)r-n PN!wQBe"?0kfdhdb.ub4spare[11]: 0 ; 0x118: 0x00000000ITPUB个人空间n&P"r6b(o{JB
kfdhdb.ub4spare[12]: 0 ; 0x11c: 0x00000000ITPUB个人空间.F%B3mw0Ji4Z/Eq
kfdhdb.ub4spare[13]: 0 ; 0x120: 0x00000000
`2e C'N @0kfdhdb.ub4spare[14]: 0 ; 0x124: 0x00000000
z:oG`iR Vz0kfdhdb.ub4spare[15]: 0 ; 0x128: 0x00000000ITPUB个人空间1Bz w1mY3r5JS-P
kfdhdb.ub4spare[16]: 0 ; 0x12c: 0x00000000ITPUB个人空间,g sL4_)mt-J
kfdhdb.ub4spare[17]: 0 ; 0x130: 0x00000000
X KJ-mME0kfdhdb.ub4spare[18]: 0 ; 0x134: 0x00000000ITPUB个人空间;`{%]^"Lnb
kfdhdb.ub4spare[19]: 0 ; 0x138: 0x00000000
C3z*u*F?/XU)iMe0kfdhdb.ub4spare[20]: 0 ; 0x13c: 0x00000000ITPUB个人空间p+i!Ro s:PsL
kfdhdb.ub4spare[21]: 0 ; 0x140: 0x00000000ITPUB个人空间:z.Z7I$r:gw$AA
kfdhdb.ub4spare[22]: 0 ; 0x144: 0x00000000ITPUB个人空间/Ky,c-l!}Kn
kfdhdb.ub4spare[23]: 0 ; 0x148: 0x00000000ITPUB个人空间7c8g)q'L4X0w8I4d
kfdhdb.ub4spare[24]: 0 ; 0x14c: 0x00000000ITPUB个人空间#O~+`"^.q?5|M
kfdhdb.ub4spare[25]: 0 ; 0x150: 0x00000000ITPUB个人空间 K dI!~ w8Hl
kfdhdb.ub4spare[26]: 0 ; 0x154: 0x00000000ITPUB个人空间%pT#xs2r
kfdhdb.ub4spare[27]: 0 ; 0x158: 0x00000000
@U3M[,r#L g0kfdhdb.ub4spare[28]: 0 ; 0x15c: 0x00000000ITPUB个人空间4e:[cq_ qbJ7t!H
kfdhdb.ub4spare[29]: 0 ; 0x160: 0x00000000ITPUB个人空间(rYRF0j&z3R
kfdhdb.ub4spare[30]: 0 ; 0x164: 0x00000000ITPUB个人空间9Aq`V)y| W$t7~
kfdhdb.ub4spare[31]: 0 ; 0x168: 0x00000000ITPUB个人空间jx5ih't}cc
kfdhdb.ub4spare[32]: 0 ; 0x16c: 0x00000000
LR H2k-jmJ0kfdhdb.ub4spare[33]: 0 ; 0x170: 0x00000000
$[oY#/PK0kfdhdb.ub4spare[34]: 0 ; 0x174: 0x00000000ITPUB个人空间S h|UXe y
kfdhdb.ub4spare[35]: 0 ; 0x178: 0x00000000ITPUB个人空间.@8l?+?/S
kfdhdb.ub4spare[36]: 0 ; 0x17c: 0x00000000
C1w&o;`"PqU0kfdhdb.ub4spare[37]: 0 ; 0x180: 0x00000000
zz8Qj mVJ l7`s0kfdhdb.ub4spare[38]: 0 ; 0x184: 0x00000000
9t7pnB+c:.e!s Y0kfdhdb.ub4spare[39]: 0 ; 0x188: 0x00000000ITPUB个人空间(P-t#t2p*r4S"[
kfdhdb.ub4spare[40]: 0 ; 0x18c: 0x00000000ITPUB个人空间/EV9T7I0f(QF+jh
kfdhdb.ub4spare[41]: 0 ; 0x190: 0x00000000ITPUB个人空间 ] NJrPk Q
kfdhdb.ub4spare[42]: 0 ; 0x194: 0x00000000ITPUB个人空间`6~ r!DE0vhGl
kfdhdb.ub4spare[43]: 0 ; 0x198: 0x00000000ITPUB个人空间qr VcM6Z"[
kfdhdb.ub4spare[44]: 0 ; 0x19c: 0x00000000ITPUB个人空间^H c$Un _7~Y
kfdhdb.ub4spare[45]: 0 ; 0x1a0: 0x00000000
_3sf2B Fg+t1iz0kfdhdb.ub4spare[46]: 0 ; 0x1a4: 0x00000000ITPUB个人空间 If(c(V1_k |8U6Y
kfdhdb.ub4spare[47]: 0 ; 0x1a8: 0x00000000ITPUB个人空间*I0AGRXu
kfdhdb.ub4spare[48]: 0 ; 0x1ac: 0x00000000
-QWTb.TPi"q i8kfdhdb.ub4spare[49]: 0 ; 0x1b0: 0x00000000ITPUB个人空间7PN/Bc8d c
kfdhdb.ub4spare[50]: 0 ; 0x1b4: 0x00000000ITPUB个人空间 aJI;s0m
kfdhdb.ub4spare[51]: 0 ; 0x1b8: 0x00000000
wF1FZ4_0kfdhdb.ub4spare[52]: 0 ; 0x1bc: 0x00000000
x9hAj7b0kfdhdb.ub4spare[53]: 0 ; 0x1c0: 0x00000000
GxNd lQ?d0kfdhdb.ub4spare[54]: 0 ; 0x1c4: 0x00000000ITPUB个人空间y3ok6w9gc
kfdhdb.ub4spare[55]: 0 ; 0x1c8: 0x00000000ITPUB个人空间C:r#w J RC,{ t d8w
kfdhdb.ub4spare[56]: 0 ; 0x1cc: 0x00000000ITPUB个人空间Br8h+?;t[
kfdhdb.ub4spare[57]: 0 ; 0x1d0: 0x00000000ITPUB个人空间irS(E)R Bv5C,C
kfdhdb.acdb.aba.seq: 0 ; 0x1d4: 0x00000000ITPUB个人空间_*b*b y5c1Y1C$`%_ RD.t$kP
kfdhdb.acdb.aba.blk: 0 ; 0x1d8: 0x00000000
J8n!m z9jj+C[0kfdhdb.acdb.ents: 0 ; 0x1dc: 0x0000ITPUB个人空间+t!k;b/` Scc QX4e
kfdhdb.acdb.ub2spare: 0 ; 0x1de: 0x0000ITPUB个人空间n#o"t7K]{#W$Rp
修复成功。
H7{_&d&?7FW7R05、磁盘组file directory所在的磁盘头信息丢失恢复:1)破坏hdisk5磁盘头:ITPUB个人空间eF[:Z7u2Cv
[oracle@p520:/oracle]$dd if=/dev/zero f=/dev/rhdisk5 bs=4096 count=1
J Mt T{@l0H8`U01+0 records in.ITPUB个人空间;e)Et5m@#d cP
1+0 records out.ITPUB个人空间-MH0I}?~&`
[oracle@p520:/oracle]$kfed read /dev/rhdisk5ITPUB个人空间&o ^;L9xmNj O0W
kfbh.endian: 0 ; 0x000: 0x00ITPUB个人空间Qw;WN!D-N
kfbh.hard: 0 ; 0x001: 0x00
6j1lE[@J0kfbh.type: 0 ; 0x002: KFBTYP_INVALID
l"PkL Els'cv0u0kfbh.datfmt: 0 ; 0x003: 0x00ITPUB个人空间1O$Xm$C._z
kfbh.block.blk: 0 ; 0x004: T=0 NUMB=0x0
6]#U[S;L z0kfbh.block.obj: 0 ; 0x008: TYPE=0x0 NUMB=0x0ITPUB个人空间T{/w$a(Xh
kfbh.check: 0 ; 0x00c: 0x00000000
:eE d_`WA%E)_ k0kfbh.fcn.base: 0 ; 0x010: 0x00000000
j@}|G o*^3D"@e0kfbh.fcn.wrap: 0 ; 0x014: 0x00000000ITPUB个人空间:r ]5E-@ j G;{?C k
kfbh.spare1: 0 ; 0x018: 0x00000000
RD}A$FT7W i0kfbh.spare2: 0 ; 0x01c: 0x00000000检查diskgroup:ITPUB个人空间~/h$J$h$o Ag
SQL> alter diskgroup data mount;
Ewm:D:d0alter diskgroup data mount
1xq }'o;|8A0Z0p0*
4K }za_%Tt0~0ERROR at line 1:
.z:w,s5{3Yb0ORA-15032: not all alterations performedITPUB个人空间$uU+F X4vW Yj a
ORA-15063: ASM discovered an insufficient number of disks for diskgroup "DATA"2)根据file directory hdisk5查找disk directory信息:ITPUB个人空间 am"O3Y6f0BX/G
可以用select name,path from v$asm_disk查出。3)根据disk directory hdisk3找出磁盘信息;里面可以得到以下hdisk5的磁盘头信息;ITPUB个人空间?EZ)K_E
kfddde[0].dsknum: 0 ; 0x034: 0x0000
bCpYQD1k'@0kfddde[0].dskname: DATA_0000 ; 0x038: length=9ITPUB个人空间:f+c$l0L:g}
kfddde[0].fgname: DATA_0000 ; 0x058: length=9
v.?D;~|J#~0kfddde[0].crestmp.hi: 32937833 ; 0x078: HOUR=0x9 DAYS=0x1b MNTH=0x5 YEAR=0x7da
`y4Ne5yO0kfddde[0].crestmp.lo: 1704514560 ; 0x07c: USEC=0x0 MSEC=0x235 SECS=0x19 MINS=0x19ITPUB个人空间4v-S;R2F3
kfddde[0].size: 51200 ; 0x08c: 0x0000c8004)根据info.txt信息生成恢复hdisk5磁盘头文件:ITPUB个人空间U W2y]L8{z`"S!s |
这里我们可以用hdisk3磁盘头信息文件来修改:
Eq wMH)^6q0kfed read /dev/rhdisk3 > /oracle/hdisk3.txtITPUB个人空间4ypi;RJvt3Z
kfbh.block.obj: 2147483649 ; 0x008: TYPE=0x8 NUMB=0x1ITPUB个人空间%`/j)LQ_5OWJl
kfdhdb.dsknum: 1; 0x024: 0x0001ITPUB个人空间5Zi3QaGM5v
kfdhdb.dskname: DATA_0001 ; 0x028: length=9
+P9FhN-gO{0kfdhdb.fgname: DATA_0001 ; 0x068: length=9
iH;[_Cw0kfdhdb.crestmp.hi: 32937833 ; 0x0a8: HOUR=0x9 DAYS=0x1b MNTH=0x5 YEAR=0x7da
b]m8{z0kfdhdb.crestmp.lo: 1704514560 ; 0x0ac: USEC=0x0 MSEC=0x235 SECS=0x19 MINS=0x19
,wY JRWx&j{0kfdhdb.dsksize: 1024 ; 0x0c4: 0x0000c800将上面值修改为以下值:
[email protected]: 2147483648 ; 0x008: TYPE=0x8 NUMB=0x0
7R#b`4Q#{5M3bl-m0kfdhdb.dsknum: 0 ; 0x024: 0x0000
~y[^5ek/W.g?R6Y0kfdhdb.dskname: DATA_0000 ; 0x028: length=9
1P"N'|u-pm1z0kfdhdb.fgname: DATA_0000 ; 0x068: length=9
*UJJ3{*G g0kfdhdb.crestmp.hi: 32937833 ; 0x0a8: HOUR=0x9 DAYS=0x1b MNTH=0x5 YEAR=0x7daITPUB个人空间H])|4TKuW)m [
kfdhdb.crestmp.lo: 1704514560; 0x0ac: USEC=0x0 MSEC=0x235 SECS=0x19 MINS=0x19
)Sa*T2A)~Ykfdhdb.dsksize: 51200 ; 0x0c4: 0x0000c800ITPUB个人空间%_S3F$_#Q3L!|u)Ym8T
这个最好用ultraedit编辑,生成hdisk5.txt。kfed merge进去头文件信息到hdisk5:
0h3W x_-RU] ]0[oracle@p520:/oracle]$kfed merge /dev/rhdisk3 text=/oracle/hdisk5.txt
6`"Yl,H dX&[ r c0_0验证是否修复成功ITPUB个人空间e~}wfd cB
SQL> alter diskgroup data mount;ITPUB个人空间Vs?9`fGA
Diskgroup altered.
"y/Hw2w-q+Vj0并且能够读出磁盘头信息:ITPUB个人空间T/pNW6`[
[oracle@p520:/oracle]$kfed read /dev/rhdisk5ITPUB个人空间_}&ow}f _ dp
kfbh.endian: 0 ; 0x000: 0x00
&@ u&J/@K&ajP*C0kfbh.hard: 130 ; 0x001: 0x82
.r0RS]zR m0kfbh.type: 1 ; 0x002: KFBTYP_DISKHEAD
4fj,V^`p8@]1Vw IJ0kfbh.datfmt: 1 ; 0x003: 0x01ITPUB个人空间%qrW3^sj7?"`h,Dk
kfbh.block.blk: 0 ; 0x004: T=0 NUMB=0x0ITPUB个人空间o}jU+I1b B*f
kfbh.block.obj: 2147483648 ; 0x008: TYPE=0x8 NUMB=0x0ITPUB个人空间ZS&T2l{E1o
kfbh.check: 170969582 ; 0x00c: 0x0a30c9ee
@%g pj+RMMV0kfbh.fcn.base: 0 ; 0x010: 0x00000242ITPUB个人空间 a Y6PX Lb W w
kfbh.fcn.wrap: 0 ; 0x014: 0x00000000
A&]v mo _)@F0kfbh.spare1: 0 ; 0x018: 0x00000000ITPUB个人空间U_}7GHKZ
kfbh.spare2: 0 ; 0x01c: 0x00000000
FUY v/Q J+P cs0kfdhdb.driver.provstr: ORCLDISK ; 0x000: length=8
;UZ }'qEY)dW%u%r0kfdhdb.driver.reserved[0]: 0 ; 0x008: 0x00000000ITPUB个人空间0JbpnJ1c)C
kfdhdb.driver.reserved[1]: 0 ; 0x00c: 0x00000000
W~1n8u_0kfdhdb.driver.reserved[2]: 0 ; 0x010: 0x00000000
If-t$X/h]b-p_u0kfdhdb.driver.reserved[3]: 0 ; 0x014: 0x00000000ITPUB个人空间c$f%[9O*iV
kfdhdb.driver.reserved[4]: 0 ; 0x018: 0x00000000ITPUB个人空间0h2~L/ aa8Y
kfdhdb.driver.reserved[5]: 0 ; 0x01c: 0x00000000
{8d Wo:{tQ0kfdhdb.compat: 168820736 ; 0x020: 0x0a100000ITPUB个人空间Kb"g f8T0` I
kfdhdb.dsknum: 0 ; 0x024: 0x0000ITPUB个人空间x$X8sKU
kfdhdb.grptyp: 1 ; 0x026: KFDGTP_EXTERNALITPUB个人空间/Sa1bu$tv[1p
kfdhdb.hdrsts: 3 ; 0x027: KFDHDR_MEMBER
M g*p)Yfb f0kfdhdb.dskname: DATA_0000 ; 0x028: length=9ITPUB个人空间/rjJ'D,Je
kfdhdb.grpname: DATA ; 0x048: length=4
Vc1T1`G.f0kfdhdb.fgname: DATA_0000 ; 0x068: length=9ITPUB个人空间hlO-r,p
kfdhdb.capname: ; 0x088: length=0
y'O e7~7N'}0kfdhdb.crestmp.hi: 32937833 ; 0x0a8: HOUR=0x9 DAYS=0x1b MNTH=0x5 YEAR=0x7daITPUB个人空间t,}1|$Pt%o+s
kfdhdb.crestmp.lo: 1704514560 ; 0x0ac: USEC=0x0 MSEC=0x235 SECS=0x19 MINS=0x19ITPUB个人空间M&B.l'b+`ZG#K
kfdhdb.mntstmp.hi: 32937834 ; 0x0b0: HOUR=0xa DAYS=0x1b MNTH=0x5 YEAR=0x7daITPUB个人空间#y2I OL+C/ql
kfdhdb.mntstmp.lo: 679906304 ; 0x0b4: USEC=0x0 MSEC=0x1a3 SECS=0x8 MINS=0xaITPUB个人空间I#ldo8M8d5e
kfdhdb.secsize: 512 ; 0x0b8: 0x0200
r A.j'uzG_,Hj;]0kfdhdb.blksize: 4096 ; 0x0ba: 0x1000ITPUB个人空间8IX[2?#RF v
kfdhdb.ausize: 1048576 ; 0x0bc: 0x00100000
z D[&g v2P0kfdhdb.mfact: 113792 ; 0x0c0: 0x0001bc80ITPUB个人空间'rM sp7afQ|"w
kfdhdb.dsksize: 51200 ; 0x0c4: 0x0000c800ITPUB个人空间*ZJX2R[~x5T-Ez
kfdhdb.pmcnt: 2 ; 0x0c8: 0x00000002
b6^e`F'H"FC2c C%Q0kfdhdb.fstlocn: 1 ; 0x0cc: 0x00000001
I6c l.a ip'im0kfdhdb.altlocn: 2 ; 0x0d0: 0x00000002
h { lQ}.T0kfdhdb.f1b1locn: 2 ; 0x0d4: 0x00000002ITPUB个人空间Pn_;E+l g T UI
kfdhdb.redomirrors[0]: 0 ; 0x0d8: 0x0000
7n8^:HFyS8? W.r&b0kfdhdb.redomirrors[1]: 65535 ; 0x0da: 0xffff
/|_lmDef%j0kfdhdb.redomirrors[2]: 65535 ; 0x0dc: 0xffffITPUB个人空间Wu"Y"O&ZT
kfdhdb.redomirrors[3]: 65535 ; 0x0de: 0xffffITPUB个人空间Q6r1UW;qM%j.{6I
kfdhdb.dbcompat: 168820736 ; 0x0e0: 0x0a100000ITPUB个人空间7r? Vov ~*v
kfdhdb.grpstmp.hi: 32937833 ; 0x0e4: HOUR=0x9 DAYS=0x1b MNTH=0x5 YEAR=0x7daITPUB个人空间B)MO{q:~1r
kfdhdb.grpstmp.lo: 1704339456 ; 0x0e8: USEC=0x0 MSEC=0x1
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/19602/viewspace-1059903/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/19602/viewspace-1059903/