Oracle如何在ASM中定位文件的分布

   我们将尝试找出文件的AU分布,然后根据AU分布定位磁盘所在的位置,设置有可能利用操作系统层面的工具拷贝ASM其中的数据出来。我将使用两个例子来说明如何查看au分布。

  0. spfile

  查看当前的spfile:

  sys@GT11G> show parameter spfile;

  NAME TYPE VALUE

  ------------------------------------ ----------- ------------------------------

  spfile string +DATA01/gt11g/spfilegt11g.ora

  查找对应的DISKGROUP信息:

  +ASM> select name,group_number,file_number from v$asm_alias where lower(name)='spfilegt11g.ora';

  NAME GROUP_NUMBER FILE_NUMBER

  -------------------- ------------ -----------

  spfileGT11G.ora 1 265

  +ASM> select name,group_number from v$asm_diskgroup;

  NAME GROUP_NUMBER

  -------- ------------

  DATA01 1

  FRA 2

  SYSDG 3

  通过视图查看对应的AU分布:

  +ASM> select group_kffxp,number_kffxp,pxn_kffxp,xnum_kffxp,disk_kffxp from x$kffxp where group_kffxp=1 and number_kffxp=265;

  GROUP_KFFXP NUMBER_KFFXP PXN_KFFXP XNUM_KFFXP DISK_KFFXP

  ----------- ------------ ---------- ---------- ----------

  1 265 0 0 1

  上述查询显示spfile文件在磁盘组1的0号磁盘上只占用了1个AU,那么我们可以直接通过kfed工具来查看下磁盘上的分配属性。

  首先我们要找出对应的磁盘信息,注意磁盘序号是从0开始的:

  +ASM> select group_number,disk_number,path from v$asm_disk where group_number=1 and disk_number=0;

  GROUP_NUMBER DISK_NUMBER PATH

  ------------ ----------- --------------------

  1 0 /dev/asm11g-f

  文件的FILE_NUMBER=256,我们应该从au2这里面查找,也即asm元数据之后的第1个文件,而blkn0是保留位置,因此我们从blkn1开始查找:

  [grid@gtser2 ~]$ kfed read /dev/asm11g-f aun=2 blkn=1 | 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: 1 ; 0x004: blk=1

  kfbh.block.obj: 1 ; 0x008: file=1

  kfbh.check: 4093010779 ; 0x00c: 0xf3f6635b

  kfbh.fcn.base: 443 ; 0x010: 0x000001bb

  kfbh.fcn.wrap: 0 ; 0x014: 0x00000000

  kfbh.spare1: 0 ; 0x018: 0x00000000

 

  kfbh.spare2: 0 ; 0x01c: 0x00000000

  kfffdb.node.incarn: 1 ; 0x000: A=1 NUMM=0x0

  kfffdb.node.frlist.number: 4294967295 ; 0x004: 0xffffffff

  kfffdb.node.frlist.incarn: 0 ; 0x008: A=0 NUMM=0x0

  kfffdb.hibytes: 0 ; 0x00c: 0x00000000

  kfffdb.lobytes: 2097152 ; 0x010: 0x00200000

  kfffdb.xtntcnt: 2 ; 0x014: 0x00000002

  kfffdb.xtnteof: 2 ; 0x018: 0x00000002

  kfffdb.blkSize: 4096 ; 0x01c: 0x00001000

  kfffdb.flags: 1 ; 0x020: O=1 S=0 S=0 D=0 C=0 I=0 R=0 A=0

  kfffdb.fileType: 15 ; 0x021: 0x0f

  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: 2 ; 0x03c: 0x0002

  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]: 4294967295 ; 0x044: 0xffffffff

  kfffdb.alias[1]: 4294967295 ; 0x048: 0xffffffff

  kfffdb.strpwdth: 0 ; 0x04c: 0x00

  kfffdb.strpsz: 0 ; 0x04d: 0x00

  kfffdb.usmsz: 0 ; 0x04e: 0x0000

  kfffdb.crets.hi: 32984682 ; 0x050: HOUR=0xa DAYS=0x13 MNTH=0x3 YEAR=0x7dd

  kfffdb.crets.lo: 3985358848 ; 0x054: USEC=0x0 MSEC=0x2f0 SECS=0x18 MINS=0x3b

  kfffdb.modts.hi: 32984682 ; 0x058: HOUR=0xa DAYS=0x13 MNTH=0x3 YEAR=0x7dd

  kfffdb.modts.lo: 3985358848 ; 0x05c: USEC=0x0 MSEC=0x2f0 SECS=0x18 MINS=0x3b

  kfffdb.dasz[0]: 0 ; 0x060: 0x00

  kfffdb.dasz[1]: 0 ; 0x061: 0x00

  kfffdb.dasz[2]: 0 ; 0x062: 0x00

  kfffdb.dasz[3]: 0 ; 0x063: 0x00

  kfffdb.permissn: 0 ; 0x064: 0x00

 

  kfffdb.ub1spar1: 0 ; 0x065: 0x00

  kfffdb.ub2spar2: 0 ; 0x066: 0x0000

  kfffdb.user.entnum: 0 ; 0x068: 0x0000

  kfffdb.user.entinc: 0 ; 0x06a: 0x0000

  kfffdb.group.entnum: 0 ; 0x06c: 0x0000

  kfffdb.group.entinc: 0 ; 0x06e: 0x0000

  kfffdb.spare[0]: 0 ; 0x070: 0x00000000

  kfffdb.spare[1]: 0 ; 0x074: 0x00000000

  kfffdb.spare[2]: 0 ; 0x078: 0x00000000

  kfffdb.spare[3]: 0 ; 0x07c: 0x00000000

  kfffdb.spare[4]: 0 ; 0x080: 0x00000000

  kfffdb.spare[5]: 0 ; 0x084: 0x00000000

  kfffdb.spare[6]: 0 ; 0x088: 0x00000000

  kfffdb.spare[7]: 0 ; 0x08c: 0x00000000

  kfffdb.spare[8]: 0 ; 0x090: 0x00000000

  kfffdb.spare[9]: 0 ; 0x094: 0x00000000

  kfffdb.spare[10]: 0 ; 0x098: 0x00000000

  kfffdb.spare[11]: 0 ; 0x09c: 0x00000000

  kfffdb.usm: ; 0x0a0: length=0

  kfffde[0].xptr.au: 2 ; 0x4a0: 0x00000002

  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: 40 ; 0x4a7: 0x28

  kfffde[1].xptr.au: 31 ; 0x4a8: 0x0000001f

  kfffde[1].xptr.disk: 1 ; 0x4ac: 0x0001

  kfffde[1].xptr.flags: 0 ; 0x4ae: L=0 E=0 D=0 S=0

  kfffde[1].xptr.chk: 52 ; 0x4af: 0x34

  kfffde[2].xptr.au: 4294967295 ; 0x4b0: 0xffffffff

  kfffde[2].xptr.disk: 65535 ; 0x4b4: 0xffff

  kfffde[2].xptr.flags: 0 ; 0x4b6: L=0 E=0 D=0 S=0

  kfffde[2].xptr.chk: 42 ; 0x4b7: 0x2a

  注意上面的信息:

  kfffde[1].xptr.au: 31 ; 0x4a8: 0x0000001f

  kfffde[0].xptr.disk: 0 ; 0x4a4: 0x0000

  这说明从256文件开始相关的au分布信息是放在这里的,我们继续查看这个au的信息:

  +ASM> select group_number,disk_number,path from v$asm_disk where group_number=1 and disk_number=1;

  GROUP_NUMBER DISK_NUMBER PATH

  ------------ ----------- --------------------

  1 1 /dev/asm11g-g

  而265号文件是存放在blkn=265-255=10,也即第10块中(blkn=9):

  [grid@gtser2 ~]$ kfed read /dev/asm11g-g aun=31 blkn=9 | 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: 265 ; 0x004: blk=265

  kfbh.block.obj: 1 ; 0x008: file=1

  kfbh.check: 3335649844 ; 0x00c: 0xc6d1fa34

  kfbh.fcn.base: 3319 ; 0x010: 0x00000cf7

  kfbh.fcn.wrap: 0 ; 0x014: 0x00000000

  kfbh.spare1: 0 ; 0x018: 0x00000000

  kfbh.spare2: 0 ; 0x01c: 0x00000000

  kfffdb.node.incarn: 810479951 ; 0x000: A=1 NUMM=0x182778a7

  kfffdb.node.frlist.number: 4294967295 ; 0x004: 0xffffffff

  kfffdb.node.frlist.incarn: 0 ; 0x008: A=0 NUMM=0x0

  kfffdb.hibytes: 0 ; 0x00c: 0x00000000

  kfffdb.lobytes: 3584 ; 0x010: 0x00000e00

  kfffdb.xtntcnt: 1 ; 0x014: 0x00000001

  kfffdb.xtnteof: 1 ; 0x018: 0x00000001

  kfffdb.blkSize: 512 ; 0x01c: 0x00000200

  kfffdb.flags: 17 ; 0x020: O=1 S=0 S=0 D=0 C=1 I=0 R=0 A=0

  kfffdb.fileType: 13 ; 0x021: 0x0d

  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: 1 ; 0x03c: 0x0001

  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]: 318 ; 0x044: 0x0000013e

  kfffdb.alias[1]: 58 ; 0x048: 0x0000003a

  kfffdb.strpwdth: 1 ; 0x04c: 0x01

  kfffdb.strpsz: 20 ; 0x04d: 0x14

  kfffdb.usmsz: 0 ; 0x04e: 0x0000

  kfffdb.crets.hi: 32984685 ; 0x050: HOUR=0xd DAYS=0x13 MNTH=0x3 YEAR=0x7dd

 

  kfffdb.crets.lo: 1287023616 ; 0x054: USEC=0x0 MSEC=0x19b SECS=0xb MINS=0x13

  kfffdb.modts.hi: 32984747 ; 0x058: HOUR=0xb DAYS=0x15 MNTH=0x3 YEAR=0x7dd

  kfffdb.modts.lo: 0 ; 0x05c: USEC=0x0 MSEC=0x0 SECS=0x0 MINS=0x0

  kfffdb.dasz[0]: 0 ; 0x060: 0x00

  kfffdb.dasz[1]: 0 ; 0x061: 0x00

  kfffdb.dasz[2]: 0 ; 0x062: 0x00

  kfffdb.dasz[3]: 0 ; 0x063: 0x00

  kfffdb.permissn: 0 ; 0x064: 0x00

  kfffdb.ub1spar1: 0 ; 0x065: 0x00

  kfffdb.ub2spar2: 0 ; 0x066: 0x0000

  kfffdb.user.entnum: 0 ; 0x068: 0x0000

  kfffdb.user.entinc: 0 ; 0x06a: 0x0000

  kfffdb.group.entnum: 0 ; 0x06c: 0x0000

  kfffdb.group.entinc: 0 ; 0x06e: 0x0000

  kfffdb.spare[0]: 0 ; 0x070: 0x00000000

  kfffdb.spare[1]: 0 ; 0x074: 0x00000000

  kfffdb.spare[2]: 0 ; 0x078: 0x00000000

  kfffdb.spare[3]: 0 ; 0x07c: 0x00000000

  kfffdb.spare[4]: 0 ; 0x080: 0x00000000

  kfffdb.spare[5]: 0 ; 0x084: 0x00000000

  kfffdb.spare[6]: 0 ; 0x088: 0x00000000

  kfffdb.spare[7]: 0 ; 0x08c: 0x00000000

  kfffdb.spare[8]: 0 ; 0x090: 0x00000000

  kfffdb.spare[9]: 0 ; 0x094: 0x00000000

  kfffdb.spare[10]: 0 ; 0x098: 0x00000000

  kfffdb.spare[11]: 0 ; 0x09c: 0x00000000

  kfffdb.usm: ; 0x0a0: length=0

  kfffde[0].xptr.au: 936 ; 0x4a0: 0x000003a8

  kfffde[0].xptr.disk: 1 ; 0x4a4: 0x0001

  kfffde[0].xptr.flags: 0 ; 0x4a6: L=0 E=0 D=0 S=0

  kfffde[0].xptr.chk: 128 ; 0x4a7: 0x80

  kfffde[1].xptr.au: 4294967295 ; 0x4a8: 0xffffffff

  kfffde[1].xptr.disk: 65535 ; 0x4ac: 0xffff

  kfffde[1].xptr.flags: 0 ; 0x4ae: L=0 E=0 D=0 S=0

  kfffde[1].xptr.chk: 42 ; 0x4af: 0x2a

  我们可以看到只有:

  kfffde[0].xptr.au: 936 ; 0x4a0: 0x000003a8

  而下一个:

  kfffde[1].xptr.au: 4294967295 ; 0x4a8: 0xffffffff

  是还没分配数据的,这也印证了我们的配置,external的dg,没有冗余,因此每个au只有primary extents,即1个au,接下来我们通过os的dd命令将该文件copy出来,我们可以直接将spfile dd到文本文件:

 

  +ASM> select group_kfdat,number_kfdat,aunum_kfdat from x$kfdat where fnum_kfdat=265;

  GROUP_KFDAT NUMBER_KFDAT AUNUM_KFDAT

  ----------- ------------ -----------

  1 1 936

  从上面信息我们得到该文件业绩spfile的在磁盘的物理位置:

  [grid@gtser2 ~]$ dd if=/dev/asm11g-g skip=936 of=/tmp/dbspfile bs=1024k count=1

  1+0 records in

  1+0 records out

  1048576 bytes (1.0 MB) copied, 0.00721405 seconds, 145 MB/s

  [grid@gtser2 ~]$ cat /tmp/dbspfile

  C"(%3tQ0CC"yKGT11G.__db_cache_size=301989888

  GT11G.__java_pool_size=4194304

  GT11G.__large_pool_size=4194304

  GT11G.__oracle_base='/u02/app/oracle'#ORACLE_BASE set from environment

  GT11G.__pga_aggregate_target=159383552

  GT11G.__sga_target=469762048

  GT11G.__shared_io_pool_size=0

  GT11G.__shared_pool_size=146800640

  GT11G.__streams_pool_size=0

  *.audit_file_dest='/u02/app/oracle/admin/GT11G/adump'

  *.audit_trail='db'

  *.compatible='11.2.0.0.0'

  *.control_files='+DATA01/gt11g/controlfile/current.256.8104718CC"y/79','+FRA/gt11g/controlfile/current.256.810471883'

  *.db_block_size=8192

  *.db_create_file_dest='+DATA01'

  *.db_domain=''

  *.db_name='GT11G'

  *.db_recovery_file_dest='+FRA'

  *.db_recovery_file_dest_size=5218762752

  *.diagnostic_dest='/u02/app/oracle'

  *.dispatchers='(PROTOCOL=TCP) (SERVICE=GT11GXDB)'

  *.log_archive_format='%t_%s_%r.dbf'

  *.nls_language='SIMPLIFIED CHINESE'

  *.nls_territory='CHINA'

  *.open_cursors=300

  *.pga_aggregate_target=156237824

  *.processes=150

  *.remote_login_passwordfile='ECC"YcXCLUSIVE'

  *.sga_target=469762048

  *.undo_tablespace='UNDOTBS1'

  CC"FeCC"EeCC"DeC[grid@gtser2 ~]$

  0. 控制文件

  sys@GT11G> show parameter control_files

  NAME TYPE VALUE

  ------------------------------------ ----------- ------------------------------

  control_files string +DATA01/gt11g/controlfile/curr

  ent.256.810471879, +FRA/gt11g/

  controlfile/current.256.810471

  883

  +ASM> select XNUM_KFFXP , PXN_KFFXP , LXN_KFFXP , DISK_KFFXP , AU_KFFXP,size_kffxp

  2 from X$KFFXP

  3 where GROUP_KFFXP=1 and NUMBER_KFFXP=256 and XNUM_KFFXP<>2147483648

  4 order by 1,2;

  XNUM_KFFXP PXN_KFFXP LXN_KFFXP DISK_KFFXP AU_KFFXP SIZE_KFFXP

  ---------- ---------- ---------- ---------- ---------- ----------

  0 0 0 1 32 1

 

  1 1 0 0 29 1

  2 2 0 1 33 1

  3 3 0 0 30 1

  4 4 0 1 34 1

  5 5 0 0 31 1

  6 6 0 1 35 1

  7 7 0 0 32 1

  8 8 0 1 36 1

  9 9 0 0 33 1

  10 10 0 1 37 1

  11 11 0 0 34 1

  12 12 0 1 38 1

  13 13 0 0 35 1

  14 14 0 1 39 1

  15 15 0 0 36 1

  16 rows selected.

  这个控制文件使用了16个au,我们看看实际的磁盘分布情况怎么样:

  [grid@gtser2 ~]$ kfed read /dev/asm11g-g aun=31 blkn=0 | 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: blk=256

  kfbh.block.obj: 1 ; 0x008: file=1

  kfbh.check: 179031737 ; 0x00c: 0x0aabceb9

  kfbh.fcn.base: 3301 ; 0x010: 0x00000ce5

  kfbh.fcn.wrap: 0 ; 0x014: 0x00000000

  kfbh.spare1: 0 ; 0x018: 0x00000000

  kfbh.spare2: 0 ; 0x01c: 0x00000000

  kfffdb.node.incarn: 810471879 ; 0x000: A=1 NUMM=0x182768e3

  kfffdb.node.frlist.number: 4294967295 ; 0x004: 0xffffffff

  kfffdb.node.frlist.incarn: 0 ; 0x008: A=0 NUMM=0x0

  kfffdb.hibytes: 0 ; 0x00c: 0x00000000

  kfffdb.lobytes: 9748480 ; 0x010: 0x0094c000

  kfffdb.xtntcnt: 16 ; 0x014: 0x00000010

  kfffdb.xtnteof: 16 ; 0x018: 0x00000010

  kfffdb.blkSize: 16384 ; 0x01c: 0x00004000

  kfffdb.flags: 19 ; 0x020: O=1 S=1 S=0 D=0 C=1 I=0 R=0 A=0

  kfffdb.fileType: 1 ; 0x021: 0x01

  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: 16 ; 0x03c: 0x0010

  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: 8 ; 0x04c: 0x08

  kfffdb.strpsz: 17 ; 0x04d: 0x11

  kfffdb.usmsz: 0 ; 0x04e: 0x0000

  kfffdb.crets.hi: 32984683 ; 0x050: HOUR=0xb DAYS=0x13 MNTH=0x3 YEAR=0x7dd

  kfffdb.crets.lo: 307757056 ; 0x054: USEC=0x0 MSEC=0x200 SECS=0x25 MINS=0x4

  kfffdb.modts.hi: 32984745 ; 0x058: HOUR=0x9 DAYS=0x15 MNTH=0x3 YEAR=0x7dd

  kfffdb.modts.lo: 0 ; 0x05c: USEC=0x0 MSEC=0x0 SECS=0x0 MINS=0x0

  kfffdb.dasz[0]: 0 ; 0x060: 0x00

  kfffdb.dasz[1]: 0 ; 0x061: 0x00

  kfffdb.dasz[2]: 0 ; 0x062: 0x00

  kfffdb.dasz[3]: 0 ; 0x063: 0x00

  kfffdb.permissn: 0 ; 0x064: 0x00

  kfffdb.ub1spar1: 0 ; 0x065: 0x00

  kfffdb.ub2spar2: 0 ; 0x066: 0x0000

  kfffdb.user.entnum: 0 ; 0x068: 0x0000

  kfffdb.user.entinc: 0 ; 0x06a: 0x0000

  kfffdb.group.entnum: 0 ; 0x06c: 0x0000

  kfffdb.group.entinc: 0 ; 0x06e: 0x0000

  kfffdb.spare[0]: 0 ; 0x070: 0x00000000

  kfffdb.spare[1]: 0 ; 0x074: 0x00000000

  kfffdb.spare[2]: 0 ; 0x078: 0x00000000

  kfffdb.spare[3]: 0 ; 0x07c: 0x00000000

  kfffdb.spare[4]: 0 ; 0x080: 0x00000000

  kfffdb.spare[5]: 0 ; 0x084: 0x00000000

  kfffdb.spare[6]: 0 ; 0x088: 0x00000000

  kfffdb.spare[7]: 0 ; 0x08c: 0x00000000

 

  kfffdb.spare[8]: 0 ; 0x090: 0x00000000

  kfffdb.spare[9]: 0 ; 0x094: 0x00000000

  kfffdb.spare[10]: 0 ; 0x098: 0x00000000

  kfffdb.spare[11]: 0 ; 0x09c: 0x00000000

  kfffdb.usm: ; 0x0a0: length=0

  kfffde[0].xptr.au: 32 ; 0x4a0: 0x00000020

  kfffde[0].xptr.disk: 1 ; 0x4a4: 0x0001

  kfffde[0].xptr.flags: 0 ; 0x4a6: L=0 E=0 D=0 S=0

  kfffde[0].xptr.chk: 11 ; 0x4a7: 0x0b

  kfffde[1].xptr.au: 29 ; 0x4a8: 0x0000001d

  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: 55 ; 0x4af: 0x37

  kfffde[2].xptr.au: 33 ; 0x4b0: 0x00000021

  kfffde[2].xptr.disk: 1 ; 0x4b4: 0x0001

  kfffde[2].xptr.flags: 0 ; 0x4b6: L=0 E=0 D=0 S=0

  kfffde[2].xptr.chk: 10 ; 0x4b7: 0x0a

  kfffde[3].xptr.au: 30 ; 0x4b8: 0x0000001e

  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: 52 ; 0x4bf: 0x34

  kfffde[4].xptr.au: 34 ; 0x4c0: 0x00000022

  kfffde[4].xptr.disk: 1 ; 0x4c4: 0x0001

  kfffde[4].xptr.flags: 0 ; 0x4c6: L=0 E=0 D=0 S=0

  kfffde[4].xptr.chk: 9 ; 0x4c7: 0x09

  kfffde[5].xptr.au: 31 ; 0x4c8: 0x0000001f

  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: 53 ; 0x4cf: 0x35

  kfffde[6].xptr.au: 35 ; 0x4d0: 0x00000023

  kfffde[6].xptr.disk: 1 ; 0x4d4: 0x0001

  kfffde[6].xptr.flags: 0 ; 0x4d6: L=0 E=0 D=0 S=0

  kfffde[6].xptr.chk: 8 ; 0x4d7: 0x08

  kfffde[7].xptr.au: 32 ; 0x4d8: 0x00000020

  kfffde[7].xptr.disk: 0 ; 0x4dc: 0x0000

  kfffde[7].xptr.flags: 0 ; 0x4de: L=0 E=0 D=0 S=0

  kfffde[7].xptr.chk: 10 ; 0x4df: 0x0a

  kfffde[8].xptr.au: 36 ; 0x4e0: 0x00000024

  kfffde[8].xptr.disk: 1 ; 0x4e4: 0x0001

  kfffde[8].xptr.flags: 0 ; 0x4e6: L=0 E=0 D=0 S=0

 

  kfffde[8].xptr.chk: 15 ; 0x4e7: 0x0f

  kfffde[9].xptr.au: 33 ; 0x4e8: 0x00000021

  kfffde[9].xptr.disk: 0 ; 0x4ec: 0x0000

  kfffde[9].xptr.flags: 0 ; 0x4ee: L=0 E=0 D=0 S=0

  kfffde[9].xptr.chk: 11 ; 0x4ef: 0x0b

  kfffde[10].xptr.au: 37 ; 0x4f0: 0x00000025

  kfffde[10].xptr.disk: 1 ; 0x4f4: 0x0001

  kfffde[10].xptr.flags: 0 ; 0x4f6: L=0 E=0 D=0 S=0

  kfffde[10].xptr.chk: 14 ; 0x4f7: 0x0e

  kfffde[11].xptr.au: 34 ; 0x4f8: 0x00000022

  kfffde[11].xptr.disk: 0 ; 0x4fc: 0x0000

  kfffde[11].xptr.flags: 0 ; 0x4fe: L=0 E=0 D=0 S=0

  kfffde[11].xptr.chk: 8 ; 0x4ff: 0x08

  kfffde[12].xptr.au: 38 ; 0x500: 0x00000026

  kfffde[12].xptr.disk: 1 ; 0x504: 0x0001

  kfffde[12].xptr.flags: 0 ; 0x506: L=0 E=0 D=0 S=0

  kfffde[12].xptr.chk: 13 ; 0x507: 0x0d

  kfffde[13].xptr.au: 35 ; 0x508: 0x00000023

  kfffde[13].xptr.disk: 0 ; 0x50c: 0x0000

  kfffde[13].xptr.flags: 0 ; 0x50e: L=0 E=0 D=0 S=0

  kfffde[13].xptr.chk: 9 ; 0x50f: 0x09

  kfffde[14].xptr.au: 39 ; 0x510: 0x00000027

  kfffde[14].xptr.disk: 1 ; 0x514: 0x0001

  kfffde[14].xptr.flags: 0 ; 0x516: L=0 E=0 D=0 S=0

  kfffde[14].xptr.chk: 12 ; 0x517: 0x0c

  kfffde[15].xptr.au: 36 ; 0x518: 0x00000024

  kfffde[15].xptr.disk: 0 ; 0x51c: 0x0000

  kfffde[15].xptr.flags: 0 ; 0x51e: L=0 E=0 D=0 S=0

  kfffde[15].xptr.chk: 14 ; 0x51f: 0x0e

  kfffde[16].xptr.au: 4294967295 ; 0x520: 0xffffffff

  kfffde[16].xptr.disk: 65535 ; 0x524: 0xffff

  kfffde[16].xptr.flags: 0 ; 0x526: L=0 E=0 D=0 S=0

  kfffde[16].xptr.chk: 42 ; 0x527: 0x2a

  kfffde[17].xptr.au: 4294967295 ; 0x528: 0xffffffff

  kfffde[17].xptr.disk: 65535 ; 0x52c: 0xffff

  kfffde[17].xptr.flags: 0 ; 0x52e: L=0 E=0 D=0 S=0

  kfffde[17].xptr.chk: 42 ; 0x52f: 0x2a

  kfffde[18].xptr.au: 4294967295 ; 0x530: 0xffffffff

  这个结果符合我们的预期,占用了16个au也即16Mb:

  sys@GT11G> select name,block_size/1024 from v$controlfile ;

  NAME BLOCK_SIZE/1024

  -------------------------------------------------- ---------------

  +DATA01/gt11g/controlfile/current.256.810471879 16

  +FRA/gt11g/controlfile/current.256.810471883 16

  -EOF-

 

 

 

 

 

 

 

 

 

时间: 2024-09-18 20:19:07

Oracle如何在ASM中定位文件的分布的相关文章

grep 命令系列:如何在 UNIX 中根据文件内容查找文件

grep 命令系列:如何在 UNIX 中根据文件内容查找文件 为了完成课程作业,我写了很多 C 语言代码并把它们保存为 /home/user/c/*.c 和 *.h.那么在 UNIX shell 窗口中我如何能通过字符串或者单词(例如函数名 main())文件内容来查找文件呢? 你需要用到以下工具: [a] grep 命令 : 输出匹配模式的行. [b] find 命令: 在目录层次中查找文件. 使用 grep 命令根据内容查找文件 输入以下命令: grep 'string' *.txt gre

vss 搜索 文件夹-如何在vss2005中查找文件夹

问题描述 如何在vss2005中查找文件夹 在vss2005的使用中由于有很多文件,很多子目录(文件夹),具体会查找文件名,但是我想搜索到文件夹,是不是能提供点方法,我看了很多说明里面都没有搜索这个文件夹的功能介绍,想求的如何搜索到文件夹名称的操作.求大神支招.多谢多谢啦.

在Delphi中定位文件位置

在Delphi中,定位文件的操作主要有两种方法.一种是直接定位文件,即通过"打开"对话框(OpenDialog)控件来实现.另一种是只定位到文件夹,然后再在此文件夹内寻找文件,这种定位方法是利用Delphi提供的SelectDirectory函数. 这个函数是在FileCtrl单元中定义的,因此在使用时不要忘记在Uses中加入单元名. 下面就以一个例子来说明这两种方法在Delphi中的具体实现: 首先建立一个新的工程,然后在窗体上加入两个按钮控件.一个"打开"对话框

如何在 Linux 中复制文件到多个目录中

在学习 Linux 的过程中,对于新手而言总是会使用几个命令来完成一个简单的任务.对正在熟悉使用终端的人这是很容易理解的行为.然而,如果你想要成为一个老手,学习我说的"快捷命令"会显著减少时间浪费. 在本篇中,我们会用一个简单的方法在 Linux 中用一个命令来将目录复制到多个文件夹中. 在 Linux 中,cp 命令常被用于从一个文件夹中复制文件到另一个文件夹中,最简单的语法如下: # cp [options-.] source(s) destination 另外,你也可以使用高级复

如何在LINUX中修改文件字符集

有些情况下,我们需要修改文件的字符集,以便解决乱码或者其他问题.在linux下,操作系统为我们提供了ICONV这个命令,下面我们来看一下这个命令的具体使用方法. [root@oadata ~]# iconv --help 用法: iconv [选项...] [文件...] 转换给定文件的编码. 输入/输出格式规范: -f, --from-code=名称 原始文本编码 -t, --to-code=名称 输出编码 信息: -l, --list 列举所有已知的字符集 输出控制: -c 从输出中忽略无效

如何在PE中更改文件打开方式

  我们在PE中需要改变文件的显示图标或者并联打开程序时,会非常的麻烦,必须得一个一个进行更改.如果用下面的代码,将会非常方便你进行批量更改. 例如,将准备好的ICO图标文件,以这个音乐文件的后戳名进行重命名,如mp3.ico.wma.ico.wav.ico,然后将下面的代码存为.BAT文件,放到ICO图标文件的目录当中运行即可. set FILENAME=%%~nI echo REM 这个 REGTTP.CMD 是用来设置千千静听与其文档的关联,如果没有实现关联,可以手动运行这个批处理.>RE

Mac教程:如何在 Finder 中查看文件夹大小

  对于许多 Mac 用户来说,Finder 的列表视图是一个不错的查看文件夹和文件的方式,因为这一视图能够提供许多关于文件夹和文件的信息,比如创建日期和文件种类等等. 事实上,Finder 的默认列表视图并不能查看文件夹的大小,它只能显示单个文件的大小.今天,我们就来说说如何通过一个简单的方法直接在 Finder 上查看文件夹的大小. 1. 打开 Finder. 2. 在菜单栏中选择"显示"-"为列表". 3. 在菜单栏中选择"显示"-&quo

如何在word中插入子文件

  具体操作步骤如下: 步骤1:在主控文档中,将插入点置于要插入子文档的位置,单击"主控文档"组中的"插入"按钮如图1所示. 步骤2:打开"插入子文档"对话框,选择要插入的文档,单击"打开"按钮,文档被作为一个子文档插入到主控文档中,如图2所示. 知识库:如果要断开子文档与主控文档之间的链接,使其成为主控文档中的内容,可在选中子文档内容后,单击"主控文档"组中的"取消链接"按钮 取消链接

asp.net中fileupload文件上传及路径问题

用户通过在控件的文本框中输入本地计算机上文件的完整路径(例如,C:MyFilestest.txt)来指定要上载的文件.用户也可以通过单击"浏览"按钮,然后在"选择文件"对话框中定位文件来选择文件. 用户选择要上载的文件后,FileUpload 控件不会自动将该文件保存到服务器.您必须显式提供一个控件或机制,使用户能提交指定的文件.例如,可以提供一个按钮,用户单击它即可上载文件.为保存指定文件所写的代码应调用 SaveAs 方法,该方法将文件内容保存到服务器上的指定路