Oracle ASM的文件

ASM文件介绍,本文从ASM文件为角度展开ASM空间分配的知识:

 

1、 ASM disk Header:

每一个磁盘的第一个block存放该磁盘的头文件,大小为4k(4096 bytes),可以用kfed工具查看此块的内容:

[grid@ractst01 mdback]$ kfed read ORCL:DISK1 aun=0blkn=0|more

kfbh.endian:                          1 ; 0x000: 0x01

kfbh.hard:                          130 ; 0x001: 0x82

kfbh.type:                            1 ; 0x002:KFBTYP_DISKHEAD

kfbh.datfmt:                          1 ; 0x003: 0x01

kfbh.block.blk:                       0 ; 0x004: blk=0

kfbh.block.obj:              2147483648 ; 0x008: disk=0

kfbh.check:                  2005150499 ; 0x00c:0x77842b23

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:    ORCLDISKDISK1 ; 0x000: length=13

kfdhdb.driver.reserved[0]:   1263749444 ; 0x008: 0x4b534944

kfdhdb.driver.reserved[1]:           49 ; 0x00c: 0x00000031

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:               186646528 ; 0x020:0x0b200000

kfdhdb.dsknum:                        0 ; 0x024: 0x0000

kfdhdb.grptyp:                        1 ; 0x026:KFDGTP_EXTERNAL

kfdhdb.hdrsts:                        3 ; 0x027:KFDHDR_MEMBER

kfdhdb.dskname:                   DISK1 ; 0x028: length=5

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

kfdhdb.fgname:                    DISK1 ; 0x068: length=5

kfdhdb.capname:                         ; 0x088: length=0

kfdhdb.crestmp.hi:            33025388 ; 0x0a8: HOUR=0xcDAYS=0xb MNTH=0xb YEAR=0x7df

kfdhdb.crestmp.lo:           1014005760 ; 0x0ac: USEC=0x0MSEC=0x20 SECS=0x7 MINS=0xf

kfdhdb.mntstmp.hi:             33025862 ; 0x0b0: HOUR=0x6DAYS=0x1a MNTH=0xb YEAR=0x7df

kfdhdb.mntstmp.lo:           3898109952 ; 0x0b4: USEC=0x0MSEC=0x21c SECS=0x5 MINS=0x3a

kfdhdb.secsize:                     512 ; 0x0b8: 0x0200

kfdhdb.blksize:                    4096 ; 0x0ba: 0x1000

kfdhdb.ausize:                  1048576 ; 0x0bc: 0x00100000

kfdhdb.mfact:                    113792 ; 0x0c0: 0x0001bc80

kfdhdb.dsksize:                    8189 ; 0x0c4: 0x00001ffd

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:             33025388 ; 0x0e4: HOUR=0xcDAYS=0xb MNTH=0xb YEAR=0x7df

kfdhdb.grpstmp.lo:           1013777408 ; 0x0e8: USEC=0x0MSEC=0x341 SECS=0x6 MINS=0xf

kfdhdb.vfstart:                     128 ; 0x0ec: 0x00000080

kfdhdb.vfend:                       160 ; 0x0f0: 0x000000a0

kfdhdb.spfile:                        0 ; 0x0f4: 0x00000000

kfdhdb.spfflg:                        0 ; 0x0f8: 0x00000000

kfdhdb.ub4spare[0]:                   0 ; 0x0fc: 0x00000000

kfdhdb.ub4spare[1]:                   0 ; 0x100: 0x00000000

kfdhdb.ub4spare[2]:                   0 ; 0x104: 0x00000000

kfdhdb.ub4spare[3]:                   0 ; 0x108: 0x00000000

kfdhdb.ub4spare[4]:                   0 ; 0x10c: 0x00000000

kfdhdb.ub4spare[5]:                   0 ; 0x110: 0x00000000

kfdhdb.ub4spare[6]:                   0 ; 0x114: 0x00000000

kfdhdb.ub4spare[7]:                   0 ; 0x118: 0x00000000

kfdhdb.ub4spare[8]:                   0 ; 0x11c: 0x00000000

kfdhdb.ub4spare[9]:                   0 ; 0x120: 0x00000000

kfdhdb.ub4spare[10]:                  0 ; 0x124: 0x00000000

kfdhdb.ub4spare[11]:                  0 ; 0x128: 0x00000000

省略后面内容。。。

即使disk header损坏,如果生产正在运行状态,不会影响生产的运行,如果ASM实例重启或其他原因down掉,启动过程会报错,不能加载磁盘,需要修复disk header。

 

Disk Header自备份

One backup copyof ASM disk header is in the second last block of allocation unit 1,假定AU大小1M,(1048576 /4096) * 2 – 1  = 511,即是该磁盘的511个块,也即是第1个AU的第254号块:

[grid@ractst01 mdback]$ kfed read ORCL:DISK1 aun=1blkn=254|more

kfbh.endian:                          1 ; 0x000: 0x01

kfbh.hard:                          130 ; 0x001: 0x82

kfbh.type:                            1 ; 0x002: KFBTYP_DISKHEAD

kfbh.datfmt:                          1 ; 0x003: 0x01

kfbh.block.blk:                     254 ; 0x004: blk=254

kfbh.block.obj:              2147483648 ; 0x008: disk=0

kfbh.check:                  2005150685 ; 0x00c:0x77842bdd

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:    ORCLDISKDISK1 ; 0x000: length=13

kfdhdb.driver.reserved[0]:   1263749444 ; 0x008: 0x4b534944

kfdhdb.driver.reserved[1]:           49 ; 0x00c: 0x00000031

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:                186646528 ; 0x020: 0x0b200000

kfdhdb.dsknum:                        0 ; 0x024: 0x0000

kfdhdb.grptyp:                       1 ; 0x026:KFDGTP_EXTERNAL

kfdhdb.hdrsts:                        3 ; 0x027:KFDHDR_MEMBER

kfdhdb.dskname:                   DISK1 ; 0x028: length=5

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

kfdhdb.fgname:                    DISK1 ; 0x068: length=5

kfdhdb.capname:                         ; 0x088: length=0

kfdhdb.crestmp.hi:             33025388 ; 0x0a8: HOUR=0xcDAYS=0xb MNTH=0xb YEAR=0x7df

kfdhdb.crestmp.lo:           1014005760 ; 0x0ac: USEC=0x0MSEC=0x20 SECS=0x7 MINS=0xf

kfdhdb.mntstmp.hi:             33025862 ; 0x0b0: HOUR=0x6DAYS=0x1a MNTH=0xb YEAR=0x7df

kfdhdb.mntstmp.lo:           3898109952 ; 0x0b4: USEC=0x0MSEC=0x21c SECS=0x5 MINS=0x3a

kfdhdb.secsize:                     512 ; 0x0b8: 0x0200

……………………………….

所以,一旦0号块头文件损坏,可以直接用如下命令修复:

[grid@ractst01 ~]#kfed repair/dev/sdb1

 

2、 ASM diskgroup metadata

 

“diskgroup metadata: files with NUMBER_KFFIL <256 ASMmetadata and ASMlog files. These files have high redundancy (3 copies) andblock size =4KB.”  

 

ASM的每一个文件都有一个唯一的索引号,1至255号文件是元文件,256开始的是其他文件。元文件中包含了ASM的配置、数据文件信息还有目录、别名等信息,1号文件包含所有文件的磁盘占用信息;每个文件信息占用一个块(4096字节,元数据块大小为4K)的空间。

1号文件总是开始在0号磁盘2号AU,这是ASM中定位文件的起点, 1号文件在最少情况下,至少有两个AU。0号盘2AU,是1号文件的第一个AU,共256各元数据块,0号块是该1号文件的头块(KFBTYP_LISTHEAD),1~255号块分别存放1号文件自身及直到255号文件的AU分布信息,也就是说0号盘2号AU,保存了全部diskgroup元文件的空间分布信息。

1号文件的第二个AU,从第一个块开始,保存256号文件。第二个块对应257号文件……

每次从ASM中读数据时,Oracle都要先读到1号文件,从中找出要读的目标文件在磁盘上的分布位置,然后再去读取相应的文件的数据。

 

1号文件分布信息:

[grid@ractst01mdback]$ kfed read ORCL:DISK1 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:                  2549506451 ; 0x00c:0x97f66193

kfbh.fcn.base:                      791 ; 0x010: 0x00000317

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=0D=0 C=0 I=0 R=0 A=0

kfffdb.fileType:                     15 ; 0x021: 0x0f

kfffdb.dXrs:                         17 ; 0x022: SCHE=0x1NUMB=0x1

kfffdb.iXrs:                         17 ; 0x023: SCHE=0x1NUMB=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:               33025388 ; 0x050: HOUR=0xcDAYS=0xb MNTH=0xb YEAR=0x7df

kfffdb.crets.lo:             1014590464 ; 0x054: USEC=0x0MSEC=0x25b SECS=0x7 MINS=0xf

kfffdb.modts.hi:               33025388 ; 0x058: HOUR=0xcDAYS=0xb MNTH=0xb YEAR=0x7df

kfffdb.modts.lo:             1014590464 ; 0x05c: USEC=0x0MSEC=0x25b SECS=0x7 MINS=0xf

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 第一个AU

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:                  120 ; 0x4a8: 0x00000078 第二个AU

kfffde[1].xptr.disk:                  2 ; 0x4ac: 0x0002

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

kfffde[1].xptr.chk:                  80 ; 0x4af: 0x50

kfffde[2].xptr.au:           4294967295 ; 0x4b0: 0xffffffff  注:该AU暂未分配

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[3].xptr.au:           4294967295 ; 0x4b8: 0xffffffff

kfffde[3].xptr.disk:              65535 ; 0x4bc: 0xffff

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

kfffde[3].xptr.chk:                  42 ; 0x4bf: 0x2a

kfffde[4].xptr.au:           4294967295 ; 0x4c0: 0xffffffff

kfffde[4].xptr.disk:              65535 ; 0x4c4: 0xffff

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

kfffde[4].xptr.chk:                  42 ; 0x4c7: 0x2a

kfffde[5].xptr.au:           4294967295 ; 0x4c8: 0xffffffff

kfffde[5].xptr.disk:              65535 ; 0x4cc: 0xffff

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

 

可以看到:0号盘第二个AU是1号文件的第一个AU,2号盘(ORCL:DISK3)第120号AU是1号文件的第二个AU(存放256号文件开始的空间分配信息)

 

3、 普通文件

查询第256号文件为例:

SQL> select name,GROUP_NUMBER,FILE_NUMBER,ALIAS_DIRECTORY fromv$asm_alias where FILE_NUMBER=256;

NAME                                               GROUP_NUMBERFILE_NUMBER A

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

spfileractst.ora                                             2         256 N

 

 

查看256号文件空间分配信息:

[grid@ractst01mdback]$ kfed read ORCL:DISK3 aun=120blkn=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:                  1877502103 ; 0x00c:0x6fe86897

kfbh.fcn.base:                     2993 ; 0x010: 0x00000bb1

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

kfbh.spare1:                          0 ; 0x018: 0x00000000

kfbh.spare2:                          0 ; 0x01c: 0x00000000

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

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

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

kfffdb.hibytes:                       0 ; 0x00c: 0x00000000

kfffdb.lobytes:               775954432 ; 0x010: 0x2e402000

kfffdb.xtntcnt:                     741 ; 0x014: 0x000002e5

kfffdb.xtnteof:                     741 ; 0x018: 0x000002e5

kfffdb.blkSize:                    8192 ; 0x01c: 0x00002000

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

kfffdb.fileType:                     12 ; 0x021: 0x0c

kfffdb.dXrs:                         17 ; 0x022: SCHE=0x1NUMB=0x1

kfffdb.iXrs:                         17 ; 0x023: SCHE=0x1NUMB=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:                      61 ; 0x03c: 0x003d

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]:                    265 ; 0x044: 0x00000109

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

kfffdb.strpwdth:                      1 ; 0x04c: 0x01

kfffdb.strpsz:                       20 ; 0x04d: 0x14

kfffdb.usmsz:                         0 ; 0x04e: 0x0000

kfffdb.crets.hi:               33025388 ; 0x050: HOUR=0xcDAYS=0xb MNTH=0xb YEAR=0x7df

kfffdb.crets.lo:             3625899008 ; 0x054: USEC=0x0 MSEC=0x3b5SECS=0x1 MINS=0x36

kfffdb.modts.hi:               33025862 ; 0x058: HOUR=0x6DAYS=0x1a MNTH=0xb YEAR=0x7df

kfffdb.modts.lo:                      0 ; 0x05c: USEC=0x0MSEC=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:                  123 ; 0x4a0: 0x0000007b

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:                  81 ; 0x4a7: 0x51

kfffde[1].xptr.au:                  125 ; 0x4a8: 0x0000007d

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:                  86 ; 0x4af: 0x56

kfffde[2].xptr.au:                  121 ; 0x4b0: 0x00000079

kfffde[2].xptr.disk:                  2 ; 0x4b4: 0x0002

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

kfffde[2].xptr.chk:                  81 ; 0x4b7: 0x51

kfffde[3].xptr.au:                  124 ; 0x4b8: 0x0000007c

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:                  86 ; 0x4bf: 0x56

kfffde[4].xptr.au:                  126 ; 0x4c0: 0x0000007e

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:                  85 ; 0x4c7: 0x55

kfffde[5].xptr.au:                  122 ; 0x4c8: 0x0000007a

kfffde[5].xptr.disk:                  2 ; 0x4cc: 0x0002

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

kfffde[5].xptr.chk:                  82 ; 0x4cf: 0x52

kfffde[6].xptr.au:                  125 ; 0x4d0: 0x0000007d

kfffde[6].xptr.disk:                  0 ; 0x4d4: 0x0000

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

kfffde[6].xptr.chk:                  87 ; 0x4d7: 0x57

kfffde[7].xptr.au:                  127 ; 0x4d8: 0x0000007f

kfffde[7].xptr.disk:                  1 ; 0x4dc: 0x0001

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

kfffde[7].xptr.chk:                  84 ; 0x4df: 0x54

kfffde[8].xptr.au:                  123 ; 0x4e0: 0x0000007b

………………………………………..

 

附录:

视图:X$KFFXP

GROUP_KFFXP   :磁盘组编号

NUMBER_KFFXP  :文件编号

PXN_KFFXP     :物理区号

XNUM_KFFXP    :逻辑区号

LXN_KFFXP     :0=primary, 1=firstmirror, 2=second mirror

DISK_KFFXP    :磁盘编号

AU_KFFXP      :AU号

通常,一个AU就是一个区。逻辑区和物理区的区别是,如果冗余模式是Nomarl,有两个FailGroup,那么文件的每一个AU,可以称为一个逻辑区。它在两个FailGroup中分别各自对应一个AU,每个AU称为物理区。

 

SQL> select DISK_KFFXP,AU_KFFXP,SIZE_KFFXP from  x$KFFXP where NUMBER_KFFXP=256 andGROUP_KFFXP=1;

 

DISK_KFFXP   AU_KFFXPSIZE_KFFXP                                               

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

         0        123          1                                               

         1        125          1                                               

         2        121          1                                               

         0        124          1                                               

         1        126          1                                               

         2        122          1                                               

         0        125          1                                               

         1        127          1                                               

         2        123         1                                               

         0        126          1                                               

         1        128          1                                               

 

DISK_KFFXP   AU_KFFXPSIZE_KFFXP                                                

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

         2        124          1                                               

         0        127          1           

                                    

--More--(2%)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值