ASM的header信息解读

(1) 第1个byte: 01即是1,表示的Little Endian;相反,0的话即使表示BIG endian。
kfbh.endian: 1 ; 0×000: 0×01

(2) 第2个byte:
kfbh.hard: 130 ; 0×001: 0×82

(3) 第3个byte:
kfbh.type: 1 ; 0×002: KFBTYP_DISKHEAD

(4) 第4个byte:
kfbh.datfmt: 1 ; 0×003: 0×01

(5) 第5~8个byte:
kfbh.block.blk: 0 ; 0×004: T=0 NUMB=0×0

(6) 第9~12个byte:
kfbh.block.obj: 2147483648 ; 0×008: TYPE=0×8 NUMB=0×0

(7) 第13~16个byte:
kfbh.check: 3101145816 ; 0x00c: 0xb8d7bad8

(8) 第17~20个byte:
kfbh.fcn.base: 0 ; 0×010: 0×00000000

(9) 第21~23个byte:
kfbh.fcn.wrap: 0 ; 0×014: 0×00000000

(10) 第24~27个byte:
kfbh.spare1: 0 ; 0×018: 0×00000000

(11) 第28~32个byte:
kfbh.spare2: 0 ; 0x01c: 0×00000000

(12) 第33~40个byte:
kfdhdb.driver.provstr: ORCLDISK ; 0×000: length=8

(13) 第41~64个byte:
kfdhdb.driver.reserved[0]: 0 ; 0×008: 0×00000000
kfdhdb.driver.reserved[1]: 0 ; 0x00c: 0×00000000
kfdhdb.driver.reserved[2]: 0 ; 0×010: 0×00000000
kfdhdb.driver.reserved[3]: 0 ; 0×014: 0×00000000
kfdhdb.driver.reserved[4]: 0 ; 0×018: 0×00000000
kfdhdb.driver.reserved[5]: 0 ; 0x01c: 0×00000000

(14) 第65~68个byte: oracle版本号
kfdhdb.compat: 168820736 ; 0×020: 0x0a100000

(15) 第69~70个byte: disk numer 取值范围 0~65335
kfdhdb.dsknum: 0 ; 0×024: 0×0000

(16) 第71个byte: 磁盘组的冗余方式 02 表示Normal冗余
KFDGTP_INVALID ((kfdgtp)0) — Illegal value
KFDGTP_EXTERNAL ((kfdgtp)1) — External redundancy
KFDGTP_NORMAL ((kfdgtp)2) — Normal redundancy
KFDGTP_HIGH ((kfdgtp)3) — High redundancy
kfdhdb.grptyp: 2 ; 0×026: KFDGTP_NORMAL

(17) 第72个byte: disk group的状态 03表示正常
KFDHDR_INVALID ((kfdhdr)0) — Illegal value
KFDHDR_UNKNOWN ((kfdhdr)1) — Disk header block unreadable
KFDHDR_CANDIDATE ((kfdhdr)2) — No OSM or OS disk header found
KFDHDR_MEMBER ((kfdhdr)3) — Normal member of the group
KFDHDR_FORMER ((kfdhdr)4) — Disk dropped cleanly from group
KFDHDR_CONFLICT ((kfdhdr)5) — Header conflicts
KFDHDR_INCOMPAT ((kfdhdr)6) — Written by incompatible software
KFDHDR_PROVISIONED ((kfdhdr)7) — Disk was prepared beforehand
kfdhdb.hdrsts: 3 ; 0×027: KFDHDR_MEMBER

(18) 第73~104个byte: 磁盘名称
kfdhdb.dskname: DB_ASM_1_0000 ; 0×028: length=13

(19) 第105~~136个byte: 磁盘组名称
kfdhdb.grpname: DB_ASM_1 ; 0×048: length=8

(20) 第137~ 168个byte: failgroup name
kfdhdb.fgname: DB_ASM_1_0000 ; 0×068: length=13

(21) 第169~184 个byte: Capacitygroup name 没有使用
kfdhdb.capname: ; 0×088: length=0

(22) 第185~188个byte: Creation timestamp high
kfdhdb.crestmp.hi: 32954223 ; 0x0a8: HOUR=0xf DAYS=0x1b MNTH=0×5 YEAR=0x7db

(23) 第189~192个byte: Creation timestamp low
kfdhdb.crestmp.lo: 3394696192 ; 0x0ac: USEC=0×0 MSEC=0x1bd SECS=0×25 MINS=0×32

(24) 第193~196个byte:
kfdhdb.mntstmp.hi: 32954313 ; 0x0b0: HOUR=0×9 DAYS=0x1e MNTH=0×5 YEAR=0x7db

(25) 第197~200个byte:
kfdhdb.mntstmp.lo: 1547636736 ; 0x0b4: USEC=0×0 MSEC=0x3c4 SECS=0×3 MINS=0×17

(26) 第201~202个byte: physical sector size of the disk
kfdhdb.secsize: 512 ; 0x0b8: 0×0200

(27) 第203~204个byte: metadata blocksize asm block大小
kfdhdb.blksize: 4096 ; 0x0ba: 0×1000

(28) 第205~208个byte: AU 的大小1048576 即是1m
kfdhdb.ausize: 1048576 ; 0x0bc: 0×00100000

(29) 第209~212个byte: Stride between physical addresses of allocation units
kfdhdb.mfact: 113792 ; 0x0c0: 0x0001bc80

(30) 第213~216个byte: 即0×00001400 转换为10进制后为5120 即5120个分配units =磁盘组大小
kfdhdb.ausize * dsksize_kfdhdb = disk size
即是 1m x 5120 =5120m (注意这个大小是整个磁盘组的大小)
kfdhdb.dsksize: 399 ; 0x0c4: 0x0000018f

(31) 第217~220个byte: Number of physically addressed allocation units
kfdhdb.pmcnt: 2 ; 0x0c8: 0×00000002

(32) 第221~224个byte: First FreeSpace table block number used to find freespace
kfdhdb.fstlocn: 1 ; 0x0cc: 0×00000001

(33) 第225~228个byte: First Alocation table block numer used to find allocated space
kfdhdb.altlocn: 2 ; 0x0d0: 0×00000002

(34) 第229~232个byte: File Directory block 1 Allocation Unit number. Beginging for file directory
即是第一个file directory 通常这里是2
kfdhdb.f1b1locn: 2 ; 0x0d4: 0×00000002
kfdhdb.redomirrors[0]: 0 ; 0x0d8: 0×0000
kfdhdb.redomirrors[1]: 0 ; 0x0da: 0×0000
kfdhdb.redomirrors[2]: 0 ; 0x0dc: 0×0000
kfdhdb.redomirrors[3]: 0 ; 0x0de: 0×0000

(35) 第241~244个byte: 数据库版本
kfdhdb.dbcompat: 168820736 ; 0x0e0: 0x0a100000

(36) 第245~248个byte:
我们这里的值是 HOUR=0×15 DAYS=0×8 MNTH=0xb YEAR=0x7da
0x7da –>2010
0xb –>11
0×8 –>8
0×15 –>21
即2010/11/08 21 这里只是精确到小时
kfdhdb.grpstmp.hi: 32954223 ; 0x0e4: HOUR=0xf DAYS=0x1b MNTH=0×5 YEAR=0x7db

(37) 第249~252个byte:
我们这里的值是 USEC=0×0 MSEC=0x2c6 SECS=0×17 MINS=0×29
MINS=0×29 –>41 分钟
SECS=0×17 –>23 秒
MSEC=0x2c6 –>710 微秒即0.7s
USEC=0×0 –>0
即2010/11/08 21 这里只是精确到小时
kfdhdb.grpstmp.lo: 3393888256 ; 0x0e8: USEC=0×0 MSEC=0x2a8 SECS=0×24 MINS=0×32

kfdhdb.ub4spare[0]: 0 ; 0x0ec: 0×00000000
kfdhdb.ub4spare[1]: 0 ; 0x0f0: 0×00000000
kfdhdb.ub4spare[2]: 0 ; 0x0f4: 0×00000000
kfdhdb.ub4spare[3]: 0 ; 0x0f8: 0×00000000
kfdhdb.ub4spare[4]: 0 ; 0x0fc: 0×00000000
kfdhdb.ub4spare[5]: 0 ; 0×100: 0×00000000
kfdhdb.ub4spare[6]: 0 ; 0×104: 0×00000000
kfdhdb.ub4spare[7]: 0 ; 0×108: 0×00000000
kfdhdb.ub4spare[8]: 0 ; 0x10c: 0×00000000
kfdhdb.ub4spare[9]: 0 ; 0×110: 0×00000000
kfdhdb.ub4spare[10]: 0 ; 0×114: 0×00000000
kfdhdb.ub4spare[11]: 0 ; 0×118: 0×00000000
kfdhdb.ub4spare[12]: 0 ; 0x11c: 0×00000000
kfdhdb.ub4spare[13]: 0 ; 0×120: 0×00000000
kfdhdb.ub4spare[14]: 0 ; 0×124: 0×00000000
kfdhdb.ub4spare[15]: 0 ; 0×128: 0×00000000
kfdhdb.ub4spare[16]: 0 ; 0x12c: 0×00000000
kfdhdb.ub4spare[17]: 0 ; 0×130: 0×00000000
kfdhdb.ub4spare[18]: 0 ; 0×134: 0×00000000
kfdhdb.ub4spare[19]: 0 ; 0×138: 0×00000000
kfdhdb.ub4spare[20]: 0 ; 0x13c: 0×00000000
kfdhdb.ub4spare[21]: 0 ; 0×140: 0×00000000
kfdhdb.ub4spare[22]: 0 ; 0×144: 0×00000000
kfdhdb.ub4spare[23]: 0 ; 0×148: 0×00000000
kfdhdb.ub4spare[24]: 0 ; 0x14c: 0×00000000
kfdhdb.ub4spare[25]: 0 ; 0×150: 0×00000000
kfdhdb.ub4spare[26]: 0 ; 0×154: 0×00000000
kfdhdb.ub4spare[27]: 0 ; 0×158: 0×00000000
kfdhdb.ub4spare[28]: 0 ; 0x15c: 0×00000000
kfdhdb.ub4spare[29]: 0 ; 0×160: 0×00000000
kfdhdb.ub4spare[30]: 0 ; 0×164: 0×00000000
kfdhdb.ub4spare[31]: 0 ; 0×168: 0×00000000
kfdhdb.ub4spare[32]: 0 ; 0x16c: 0×00000000
kfdhdb.ub4spare[33]: 0 ; 0×170: 0×00000000
kfdhdb.ub4spare[34]: 0 ; 0×174: 0×00000000
kfdhdb.ub4spare[35]: 0 ; 0×178: 0×00000000
kfdhdb.ub4spare[36]: 0 ; 0x17c: 0×00000000
kfdhdb.ub4spare[37]: 0 ; 0×180: 0×00000000
kfdhdb.ub4spare[38]: 0 ; 0×184: 0×00000000
kfdhdb.ub4spare[39]: 0 ; 0×188: 0×00000000
kfdhdb.ub4spare[40]: 0 ; 0x18c: 0×00000000
kfdhdb.ub4spare[41]: 0 ; 0×190: 0×00000000
kfdhdb.ub4spare[42]: 0 ; 0×194: 0×00000000
kfdhdb.ub4spare[43]: 0 ; 0×198: 0×00000000
kfdhdb.ub4spare[44]: 0 ; 0x19c: 0×00000000
kfdhdb.ub4spare[45]: 0 ; 0x1a0: 0×00000000
kfdhdb.ub4spare[46]: 0 ; 0x1a4: 0×00000000
kfdhdb.ub4spare[47]: 0 ; 0x1a8: 0×00000000
kfdhdb.ub4spare[48]: 0 ; 0x1ac: 0×00000000
kfdhdb.ub4spare[49]: 0 ; 0x1b0: 0×00000000
kfdhdb.ub4spare[50]: 0 ; 0x1b4: 0×00000000
kfdhdb.ub4spare[51]: 0 ; 0x1b8: 0×00000000
kfdhdb.ub4spare[52]: 0 ; 0x1bc: 0×00000000
kfdhdb.ub4spare[53]: 0 ; 0x1c0: 0×00000000
kfdhdb.ub4spare[54]: 0 ; 0x1c4: 0×00000000
kfdhdb.ub4spare[55]: 0 ; 0x1c8: 0×00000000
kfdhdb.ub4spare[56]: 0 ; 0x1cc: 0×00000000
kfdhdb.ub4spare[57]: 0 ; 0x1d0: 0×00000000
kfdhdb.acdb.aba.seq: 0 ; 0x1d4: 0×00000000
kfdhdb.acdb.aba.blk: 0 ; 0x1d8: 0×00000000
kfdhdb.acdb.ents: 0 ; 0x1dc: 0×0000
kfdhdb.acdb.ub2spare: 0 ; 0x1de: 0×0000

Trackback

no comment untill now

Add your comment now

切换到手机版