在oracle11g中如何查找ASM AU空间分布信息

教程发布:风哥 教程分类:ITPUX技术网 更新日期:2022-02-12 浏览学习:760

在Oracle10g中,ASM AU SIZE默认为1M,通过可以通过kfed命令直接查看一个diskgroup中的0号盘2号AU来获得AU的分布信息(保存了全部元文件的空间分布信息),在11g中,AU为2M、4M、8M的情况下,在0号盘2号AU再也不法找到相应的AU空间分布信息了,不包括X$KFFX视图。

如下:

通过测试,以下在oracle 11g中(AU=4M)查看AU的空间分布信息,在一个diskgroup(共3个磁盘)中的0号盘2号AU中找不到任何au的空间分布信息。

oracle11g和oracle10g中,AU分布信息地址有何变化,如何在oracle11g中通过kfed找到AU空间分布信息?

从[font=Georgia]10.2.0[font=Georgia].5开始的[font=Georgia]asm确实存在自动备份[font=Georgia]asm disk header功能[font=Georgia].有了这个功能对于那些不备份[font=Georgia]asm disk header的同学[font=Georgia],提供了一层保证[font=Georgia],也增加了[font=Georgia]asm的安全性.
对于10.2.0.5.0以及以后版本,不管au size是多少,asm disk header自动备份存储的位置是第2个au的倒数第2个block.
计算方法:
AU中包含的block num[AU_SIZE/block_size]*2-2[因为从第一个块从0计数][font=Georgia],通过该方法计算结论为:
1M AU在510

2M AU在1022

4M AU在2046

8M AU在4094

16M AU在8190

32M AU在16382
64M
AU在32766

测试如下:

Oracle Database 11g Enterprise Edition Release 11.2.0.3.0

SQL> select GROUP_NUMBER,disk_number,name,path from v$asm_disk where GROUP_NUMBER=1;

GROUP_NUMBER DISK_NUMBER NAME PATH
------------ ----------- ------------------------------ --------------------
1 0 DATADG_0000 /dev/asmdata1-sde
1 1 DATADG_0001 /dev/asmdata2-sdf
1 2 DATADG_0002 /dev/asmdata3-sdg

[grid@zll:/home/grid]$kfed read /dev/asmdata1-sde aun=2 blkn=1|more
kfbh.endian: 1 ; 0x000: 0x01
kfbh.hard: 130 ; 0x001: 0x82
kfbh.type: 3 ; 0x002: KFBTYP_ALLOCTBL
kfbh.datfmt: 2 ; 0x003: 0x02
kfbh.block.blk: 513 ; 0x004: blk=513
kfbh.block.obj: 2147483648 ; 0x008: disk=0
kfbh.check: 2899377764 ; 0x00c: 0xacd0fe64
kfbh.fcn.base: 0 ; 0x010: 0x00000000
kfbh.fcn.wrap: 0 ; 0x014: 0x00000000
kfbh.spare1: 0 ; 0x018: 0x00000000
kfbh.spare2: 0 ; 0x01c: 0x00000000
kfdatb.aunum: 228928 ; 0x000: 0x00037e40
kfdatb.shrink: 0 ; 0x004: 0x0000
kfdatb.ub2pad: 12020 ; 0x006: 0x2ef4
kfdatb.auinfo[0].link.next: 8 ; 0x008: 0x0008
kfdatb.auinfo[0].link.prev: 8 ; 0x00a: 0x0008
kfdatb.auinfo[1].link.next: 12 ; 0x00c: 0x000c
kfdatb.auinfo[1].link.prev: 12 ; 0x00e: 0x000c
kfdatb.auinfo[2].link.next: 16 ; 0x010: 0x0010
kfdatb.auinfo[2].link.prev: 16 ; 0x012: 0x0010
kfdatb.auinfo[3].link.next: 20 ; 0x014: 0x0014
kfdatb.auinfo[3].link.prev: 20 ; 0x016: 0x0014
kfdatb.auinfo[4].link.next: 24 ; 0x018: 0x0018
kfdatb.auinfo[4].link.prev: 24 ; 0x01a: 0x0018
kfdatb.auinfo[5].link.next: 28 ; 0x01c: 0x001c
kfdatb.auinfo[5].link.prev: 28 ; 0x01e: 0x001c
kfdatb.auinfo[6].link.next: 32 ; 0x020: 0x0020
kfdatb.auinfo[6].link.prev: 32 ; 0x022: 0x0020
kfdatb.spare: 0 ; 0x024: 0x00000000
kfdate[0].discriminator: 1 ; 0x028: 0x00000001
kfdate[0].allo.lo: 0 ; 0x028: XNUM=0x0
kfdate[0].allo.hi: 9437183 ; 0x02c: V=1 I=0 H=0 FNUM=0xfffff
kfdate[1].discriminator: 1 ; 0x030: 0x00000001
kfdate[1].allo.lo: 0 ; 0x030: XNUM=0x0
kfdate[1].allo.hi: 9437183 ; 0x034: V=1 I=0 H=0 FNUM=0xfffff
kfdate[2].discriminator: 1 ; 0x038: 0x00000001
kfdate[2].allo.lo: 0 ; 0x038: XNUM=0x0
kfdate[2].allo.hi: 9437183 ; 0x03c: V=1 I=0 H=0 FNUM=0xfffff
kfdate[3].discriminator: 1 ; 0x040: 0x00000001
kfdate[3].allo.lo: 0 ; 0x040: XNUM=0x0
kfdate[3].allo.hi: 9437183 ; 0x044: V=1 I=0 H=0 FNUM=0xfffff
kfdate[4].discriminator: 1 ; 0x048: 0x00000001
kfdate[4].allo.lo: 0 ; 0x048: XNUM=0x0
kfdate[4].allo.hi: 9437183 ; 0x04c: V=1 I=0 H=0 FNUM=0xfffff
kfdate[5].discriminator: 1 ; 0x050: 0x00000001
kfdate[5].allo.lo: 0 ; 0x050: XNUM=0x0
kfdate[5].allo.hi: 9437183 ; 0x054: V=1 I=0 H=0 FNUM=0xfffff
kfdate[6].discriminator: 1 ; 0x058: 0x00000001
kfdate[6].allo.lo: 0 ; 0x058: XNUM=0x0
kfdate[6].allo.hi: 9437183 ; 0x05c: V=1 I=0 H=0 FNUM=0xfffff
kfdate[7].discriminator: 1 ; 0x060: 0x00000001
kfdate[7].allo.lo: 0 ; 0x060: XNUM=0x0
kfdate[7].allo.hi: 9437183 ; 0x064: V=1 I=0 H=0 FNUM=0xfffff
kfdate[8].discriminator: 1 ; 0x068: 0x00000001
kfdate[8].allo.lo: 0 ; 0x068: XNUM=0x0
kfdate[8].allo.hi: 9437183 ; 0x06c: V=1 I=0 H=0 FNUM=0xfffff
kfdate[9].discriminator: 1 ; 0x070: 0x00000001
kfdate[9].allo.lo: 0 ; 0x070: XNUM=0x0
kfdate[9].allo.hi: 9437183 ; 0x074: V=1 I=0 H=0 FNUM=0xfffff
kfdate[10].discriminator: 1 ; 0x078: 0x00000001
kfdate[10].allo.lo: 0 ; 0x078: XNUM=0x0
kfdate[10].allo.hi: 9437183 ; 0x07c: V=1 I=0 H=0 FNUM=0xfffff
kfdate[11].discriminator: 1 ; 0x080: 0x00000001
kfdate[11].allo.lo: 0 ; 0x080: XNUM=0x0
kfdate[11].allo.hi: 9437183 ; 0x084: V=1 I=0 H=0 FNUM=0xfffff
kfdate[12].discriminator: 1 ; 0x088: 0x00000001
kfdate[12].allo.lo: 0 ; 0x088: XNUM=0x0
kfdate[12].allo.hi: 9437183 ; 0x08c: V=1 I=0 H=0 FNUM=0xfffff
kfdate[13].discriminator: 1 ; 0x090: 0x00000001
kfdate[13].allo.lo: 0 ; 0x090: XNUM=0x0
kfdate[13].allo.hi: 9437183 ; 0x094: V=1 I=0 H=0 FNUM=0xfffff
kfdate[14].discriminator: 1 ; 0x098: 0x00000001
kfdate[14].allo.lo: 0 ; 0x098: XNUM=0x0
kfdate[14].allo.hi: 9437183 ; 0x09c: V=1 I=0 H=0 FNUM=0xfffff
kfdate[15].discriminator: 1 ; 0x0a0: 0x00000001
kfdate[15].allo.lo: 0 ; 0x0a0: XNUM=0x0
kfdate[15].allo.hi: 9437183 ; 0x0a4: V=1 I=0 H=0 FNUM=0xfffff
kfdate[16].discriminator: 1 ; 0x0a8: 0x00000001
kfdate[16].allo.lo: 0 ; 0x0a8: XNUM=0x0
kfdate[16].allo.hi: 9437183 ; 0x0ac: V=1 I=0 H=0 FNUM=0xfffff
kfdate[17].discriminator: 1 ; 0x0b0: 0x00000001
kfdate[17].allo.lo: 0 ; 0x0b0: XNUM=0x0
kfdate[17].allo.hi: 9437183 ; 0x0b4: V=1 I=0 H=0 FNUM=0xfffff
kfdate[18].discriminator: 1 ; 0x0b8: 0x00000001
kfdate[18].allo.lo: 0 ; 0x0b8: XNUM=0x0
kfdate[18].allo.hi: 9437183 ; 0x0bc: V=1 I=0 H=0 FNUM=0xfffff
kfdate[19].discriminator: 1 ; 0x0c0: 0x00000001
kfdate[19].allo.lo: 0 ; 0x0c0: XNUM=0x0
kfdate[19].allo.hi: 9437183 ; 0x0c4: V=1 I=0 H=0 FNUM=0xfffff
kfdate[20].discriminator: 1 ; 0x0c8: 0x00000001
kfdate[20].allo.lo: 0 ; 0x0c8: XNUM=0x0
kfdate[20].allo.hi: 9437183 ; 0x0cc: V=1 I=0 H=0 FNUM=0xfffff //以下感谢Roger的帮助,让我搞清楚了一些不懂的地方。
那么在11G中,KFFXP与KFED查到AU分布信息如下:

SQL> l
1 select a.GROUP_KFFXP, a.DISK_KFFXP, a.AU_KFFXP, b.path
2 from x$kffxp a, v$asm_disk b, v$asm_alias c
3 where a.number_kffxp = c.file_number
4 and a.GROUP_KFFXP = b.group_number
5 and a.disk_kffxp = b.disk_number
6 and b.group_number=2
7 and c.name like '%TEST%'
8* order by a.AU_KFFXP
SQL> /

GROUP_KFFXP DISK_KFFXP AU_KFFXP PATH
----------- ---------- ---------- ------------------------------
2 0 18 /dev/sdb
2 0 19 /dev/sdb
2 0 20 /dev/sdb
2 0 21 /dev/sdb
2 0 22 /dev/sdb
2 0 23 /dev/sdb

6 rows selected.

[ora11g@11gR2test db]$ kfed read /dev/sdb aun=8 blkn=256|more
kfbh.endian: 1 ; 0x000: 0x01
kfbh.hard: 130 ; 0x001: 0x82
kfbh.type: 4 ; 0x002: KFBTYP_FILEDIR
kfbh.datfmt: 1 ; 0x003: 0x01
kfbh.block.blk: 256 ; 0x004: T=0 NUMB=0x100
kfbh.block.obj: 1 ; 0x008: TYPE=0x0 NUMB=0x1
kfbh.check: 1715174132 ; 0x00c: 0x663b7af4
kfbh.fcn.base: 22 ; 0x010: 0x00000016
kfbh.fcn.wrap: 0 ; 0x014: 0x00000000
kfbh.spare1: 0 ; 0x018: 0x00000000
kfbh.spare2: 0 ; 0x01c: 0x00000000
kfffdb.node.incarn: 792368543 ; 0x000: A=1 NUMM=0x179d4acf
kfffdb.node.frlist.number: 4294967295 ; 0x004: 0xffffffff
kfffdb.node.frlist.incarn: 0 ; 0x008: A=0 NUMM=0x0
kfffdb.hibytes: 0 ; 0x00c: 0x00000000
kfffdb.lobytes: 20979712 ; 0x010: 0x01402000
kfffdb.xtntcnt: 6 ; 0x014: 0x00000006
kfffdb.xtnteof: 6 ; 0x018: 0x00000006
kfffdb.blkSize: 8192 ; 0x01c: 0x00002000
kfffdb.flags: 17 ; 0x020: O=1 S=0 S=0 D=0 C=1 I=0 R=0 A=0
kfffdb.fileType: 2 ; 0x021: 0x02
kfffdb.dXrs: 17 ; 0x022: SCHE=0x1 NUMB=0x1
kfffdb.iXrs: 17 ; 0x023: SCHE=0x1 NUMB=0x1
kfffdb.dXsiz[0]: 4294967295 ; 0x024: 0xffffffff
kfffdb.dXsiz[1]: 0 ; 0x028: 0x00000000
kfffdb.dXsiz[2]: 0 ; 0x02c: 0x00000000
kfffdb.iXsiz[0]: 4294967295 ; 0x030: 0xffffffff
kfffdb.iXsiz[1]: 0 ; 0x034: 0x00000000
kfffdb.iXsiz[2]: 0 ; 0x038: 0x00000000
kfffdb.xtntblk: 6 ; 0x03c: 0x0006
kfffdb.break: 60 ; 0x03e: 0x003c
kfffdb.priZn: 0 ; 0x040: KFDZN_COLD
kfffdb.secZn: 0 ; 0x041: KFDZN_COLD
kfffdb.ub2spare: 0 ; 0x042: 0x0000
kfffdb.alias[0]: 106 ; 0x044: 0x0000006a
kfffdb.alias[1]: 4294967295 ; 0x048: 0xffffffff
kfffdb.strpwdth: 1 ; 0x04c: 0x01
kfffdb.strpsz: 22 ; 0x04d: 0x16
kfffdb.usmsz: 0 ; 0x04e: 0x0000
kfffdb.crets.hi: 32973654 ; 0x050: HOUR=0x16 DAYS=0x1a MNTH=0x8 YEAR=0x7dc
kfffdb.crets.lo: 1500018688 ; 0x054: USEC=0x0 MSEC=0x21e SECS=0x16 MINS=0x16
kfffdb.modts.hi: 32973654 ; 0x058: HOUR=0x16 DAYS=0x1a MNTH=0x8 YEAR=0x7dc
kfffdb.modts.lo: 0 ; 0x05c: USEC=0x0 MSEC=0x0 SECS=0x0 MINS=0x0
kfffdb.dasz[0]: 0 ; 0x060: 0x00
.....省略部分内容
kfffdb.usm: ; 0x0a0: length=0
kfffde[0].xptr.au: 18 ; 0x4a0: 0x00000012
kfffde[0].xptr.disk: 0 ; 0x4a4: 0x0000
kfffde[0].xptr.flags: 0 ; 0x4a6: L=0 E=0 D=0 S=0
kfffde[0].xptr.chk: 56 ; 0x4a7: 0x38
kfffde[1].xptr.au: 19 ; 0x4a8: 0x00000013
kfffde[1].xptr.disk: 0 ; 0x4ac: 0x0000
kfffde[1].xptr.flags: 0 ; 0x4ae: L=0 E=0 D=0 S=0
kfffde[1].xptr.chk: 57 ; 0x4af: 0x39
kfffde[2].xptr.au: 20 ; 0x4b0: 0x00000014
kfffde[2].xptr.disk: 0 ; 0x4b4: 0x0000
kfffde[2].xptr.flags: 0 ; 0x4b6: L=0 E=0 D=0 S=0
kfffde[2].xptr.chk: 62 ; 0x4b7: 0x3e
kfffde[3].xptr.au: 21 ; 0x4b8: 0x00000015
kfffde[3].xptr.disk: 0 ; 0x4bc: 0x0000
kfffde[3].xptr.flags: 0 ; 0x4be: L=0 E=0 D=0 S=0
kfffde[3].xptr.chk: 63 ; 0x4bf: 0x3f
kfffde[4].xptr.au: 22 ; 0x4c0: 0x00000016
kfffde[4].xptr.disk: 0 ; 0x4c4: 0x0000
kfffde[4].xptr.flags: 0 ; 0x4c6: L=0 E=0 D=0 S=0
kfffde[4].xptr.chk: 60 ; 0x4c7: 0x3c
kfffde[5].xptr.au: 23 ; 0x4c8: 0x00000017
kfffde[5].xptr.disk: 0 ; 0x4cc: 0x0000
kfffde[5].xptr.flags: 0 ; 0x4ce: L=0 E=0 D=0 S=0
kfffde[5].xptr.chk: 61 ; 0x4cf: 0x3d
kfffde[6].xptr.au: 4294967295 ; 0x4d0: 0xffffffff
kfffde[6].xptr.disk: 65535 ; 0x4d4: 0xffff
kfffde[6].xptr.flags: 0 ; 0x4d6: L=0 E=0 D=0 S=0

本文标签:
网站声明:本文由风哥整理发布,转载请保留此段声明,本站所有内容将不对其使用后果做任何承诺,请读者谨慎使用!
【上一篇】
【下一篇】