Oracle ASM Staleness Directory and Staleness Registry
Staleness Directory包含對映Staleness Registry中插槽到特定磁碟與ASM客戶端的後設資料。Staleness Directory在磁碟組中的檔案號為12(F12)。當需要它時它將與Staleness Registry一起分配。staleness registry在磁碟組中的檔案號為254,當磁碟offline時,用於跟蹤AU的狀態。這兩個特性適用於COMPATIBLE.RDBMS設定為11.1或以上且NORMAL或HIGH冗餘模式的磁碟組。只有在需要時staleness元資訊才會被建立,本身的內容大小會隨著offline磁碟的增多而增長。
當一個磁碟offline時,每個RDBMS例項都會從staleness registry中得到一個對映到該磁碟的槽位。這個槽位中的每一個位元位對映這個offline磁碟上的一個AU。當RDBMS例項對offline的磁碟發起寫IO操作時,該例項會在staleness registry中修改對應的位元位。
當一個磁碟被online時,ASM會從冗餘的extent中複製staleness registry位元位中記錄的AU。因為只有offline時被改變過的AU會被更新,所以磁碟online操作的效率會高於該盤被drop並新增一塊新盤的效率。
當所有磁碟都處於online狀態時,意味著不會存在staleness directory與staleness registry
SQL> col "disk group" for 999 SQL> col "group#" for 999 SQL> col "disk#" for 999 SQL> col "disk status" for a30 SQL> select g.name "disk group", 2 g.group_number "group#", 3 d.disk_number "disk#", 4 d.name "disk", 5 d.path, 6 d.mode_status "disk status", 7 g.type 8 from v$asm_disk d, v$asm_diskgroup g 9 where g.group_number=d.group_number and g.group_number<>0 10 order by 1, 2, 3; disk group group# disk# disk PATH disk status TYPE ---------------------------- ------ ----- ---------------------- ------------------------------ ------------------------------ ---------- ACFS 4 0 ACFS_0000 /dev/raw/raw5 ONLINE NORMAL ACFS 4 1 ACFS_0001 /dev/raw/raw6 ONLINE NORMAL ARCHDG 1 0 ARCHDG_0000 /dev/raw/raw2 ONLINE NORMAL ARCHDG 1 1 ARCHDG_0001 /dev/raw/raw9 ONLINE NORMAL CRSDG 2 0 CRSDG_0000 /dev/raw/raw1 ONLINE EXTERN CRSDG 2 1 CRSDG_0001 /dev/raw/raw8 ONLINE EXTERN DATADG 3 0 DATADG_0001 /dev/raw/raw11 ONLINE NORMAL DATADG 3 1 DATADG_0003 /dev/raw/raw4 ONLINE NORMAL DATADG 3 2 DATADG_0002 /dev/raw/raw3 ONLINE NORMAL DATADG 3 3 DATADG_0000 /dev/raw/raw10 ONLINE NORMAL USD 5 0 USD_0000 /dev/raw/raw7 ONLINE NORMAL USD 5 1 USD_0001 /dev/raw/raw12 ONLINE NORMAL 12 rows selected. SQL> select x.number_kffxp "file#",x.group_kffxp "group#",x.disk_kffxp "disk #",d.name "disk name",d.path "disk path",x.xnum_kffxp "virtual extent",pxn_kffxp "physical extent",x.au_kffxp "au" 2 from x$kffxp x, v$asm_disk_stat d 3 where x.group_kffxp=d.group_number 4 and x.disk_kffxp=d.disk_number 5 and x.group_kffxp=3 6 and x.number_kffxp in(12,254) 7 order by 1,2,3; no rows selected
Staleness資訊在磁碟offline並且在針對該offline盤有寫IO時會才被建立。在下面的例子中,透過ALTER DISKGROUP OFFLINE DISK命令手動把一個磁碟offline。staleness元資訊的建立跟磁碟以何種方式何種原因offline無關。
SQL> alter diskgroup datadg offline disk DATADG_0000; Diskgroup altered. SQL> select x.number_kffxp "file#",x.group_kffxp "group#",x.disk_kffxp "disk #",d.name "disk name",d.path "disk path",x.xnum_kffxp "virtual extent",pxn_kffxp "physical extent",x.au_kffxp "au" 2 from x$kffxp x, v$asm_disk_stat d 3 where x.group_kffxp=d.group_number 4 and x.disk_kffxp=d.disk_number 5 and x.group_kffxp=5 6 and x.number_kffxp in(12,254) 7 order by 1,2,3; no rows selected
資料庫針對該磁碟組進行不斷的寫入,過一會就可以觀察到該磁碟組中已經建立了staleness directory 和 staleness registry。
SQL> select x.number_kffxp "file#",x.group_kffxp "group#",x.disk_kffxp "disk #",d.name "disk name",d.path "disk path",x.xnum_kffxp "virtual extent",pxn_kffxp "physical extent",x.au_kffxp "au" 2 from x$kffxp x, v$asm_disk_stat d 3 where x.group_kffxp=d.group_number 4 and x.disk_kffxp=d.disk_number 5 and x.group_kffxp=3 6 and x.number_kffxp in(12,254) 7 order by 1,2,3; file# group# disk # disk name disk path virtual extent physical extent au ----- ------ ---------- -------------------- -------------------- -------------- --------------- ---------- 12 3 1 DATADG_0003 /dev/raw/raw4 0 2 1707 12 3 2 DATADG_0002 /dev/raw/raw3 0 1 1707 12 3 3 DATADG_0000 0 0 4294967294 254 3 0 DATADG_0001 /dev/raw/raw11 0 1 1711 254 3 1 DATADG_0003 /dev/raw/raw4 0 0 1706 254 3 1 DATADG_0003 /dev/raw/raw4 1 5 1708 254 3 2 DATADG_0002 /dev/raw/raw3 1 4 1708 254 3 3 DATADG_0000 0 2 4294967294 254 3 3 DATADG_0000 1 3 4294967294 9 rows selected.
上面的結果顯示staleness directory(12號檔案)分佈在1號磁碟(/dev/raw/raw4)的1707號AU與2號磁碟(/dev/raw/raw3)的1707號AU中。staleness registry(254號檔案)分佈在0號磁碟(/dev/raw/raw11)的1711號AU,1號磁碟(/dev/raw/raw4)的1706,1708號AU,2號磁碟(/dev/raw/raw3)的1708號AU中。
透過kfed工具來定位staleness directory 和 staleness registry的AU分佈情況
[grid@jyrac1 ~]$ kfed read /dev/raw/raw11 aun=2 blkn=12 | 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: 12 ; 0x004: blk=12 kfbh.block.obj: 1 ; 0x008: file=1 kfbh.check: 3437528684 ; 0x00c: 0xcce4866c kfbh.fcn.base: 7010 ; 0x010: 0x00001b62 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: 1048576 ; 0x010: 0x00100000 kfffdb.xtntcnt: 3 ; 0x014: 0x00000003 kfffdb.xtnteof: 3 ; 0x018: 0x00000003 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: 19 ; 0x022: SCHE=0x1 NUMB=0x3 kfffdb.iXrs: 19 ; 0x023: SCHE=0x1 NUMB=0x3 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: 3 ; 0x03c: 0x0003 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: 33047659 ; 0x050: HOUR=0xb DAYS=0x3 MNTH=0x1 YEAR=0x7e1 kfffdb.crets.lo: 121661440 ; 0x054: USEC=0x0 MSEC=0x1a SECS=0x34 MINS=0x1 kfffdb.modts.hi: 33047659 ; 0x058: HOUR=0xb DAYS=0x3 MNTH=0x1 YEAR=0x7e1 kfffdb.modts.lo: 121661440 ; 0x05c: USEC=0x0 MSEC=0x1a SECS=0x34 MINS=0x1 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: 4294967294 ; 0x4a0: 0xfffffffe kfffde[0].xptr.disk: 3 ; 0x4a4: 0x0003 kfffde[0].xptr.flags: 32 ; 0x4a6: L=0 E=0 D=0 S=1 kfffde[0].xptr.chk: 8 ; 0x4a7: 0x08 kfffde[1].xptr.au: 1707 ; 0x4a8: 0x000006ab 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: 133 ; 0x4af: 0x85 kfffde[2].xptr.au: 1707 ; 0x4b0: 0x000006ab 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: 134 ; 0x4b7: 0x86 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[1].xptr.au=1707,kfffde[1].xptr.disk=2與kfffde[2].xptr.au=1707,kfffde[2].xptr.disk=1可知staleness directory(12號檔案)分佈在1號磁碟(/dev/raw/raw4)的1707號AU與2號磁碟(/dev/raw/raw3)的1707號AU中。
[grid@jyrac1 ~]$ kfed read /dev/raw/raw11 aun=2 blkn=254 | 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: 254 ; 0x004: blk=254 kfbh.block.obj: 1 ; 0x008: file=1 kfbh.check: 3989368441 ; 0x00c: 0xedc8ee79 kfbh.fcn.base: 6753 ; 0x010: 0x00001a61 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: 6 ; 0x014: 0x00000006 kfffdb.xtnteof: 6 ; 0x018: 0x00000006 kfffdb.blkSize: 4096 ; 0x01c: 0x00001000 kfffdb.flags: 17 ; 0x020: O=1 S=0 S=0 D=0 C=1 I=0 R=0 A=0 kfffdb.fileType: 25 ; 0x021: 0x19 kfffdb.dXrs: 19 ; 0x022: SCHE=0x1 NUMB=0x3 kfffdb.iXrs: 19 ; 0x023: SCHE=0x1 NUMB=0x3 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]: 4294967295 ; 0x044: 0xffffffff kfffdb.alias[1]: 4294967295 ; 0x048: 0xffffffff kfffdb.strpwdth: 8 ; 0x04c: 0x08 kfffdb.strpsz: 20 ; 0x04d: 0x14 kfffdb.usmsz: 0 ; 0x04e: 0x0000 kfffdb.crets.hi: 33047659 ; 0x050: HOUR=0xb DAYS=0x3 MNTH=0x1 YEAR=0x7e1 kfffdb.crets.lo: 121410560 ; 0x054: USEC=0x0 MSEC=0x325 SECS=0x33 MINS=0x1 kfffdb.modts.hi: 33047659 ; 0x058: HOUR=0xb DAYS=0x3 MNTH=0x1 YEAR=0x7e1 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: 1706 ; 0x4a0: 0x000006aa 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: 135 ; 0x4a7: 0x87 kfffde[1].xptr.au: 1711 ; 0x4a8: 0x000006af 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: 131 ; 0x4af: 0x83 kfffde[2].xptr.au: 4294967294 ; 0x4b0: 0xfffffffe kfffde[2].xptr.disk: 3 ; 0x4b4: 0x0003 kfffde[2].xptr.flags: 32 ; 0x4b6: L=0 E=0 D=0 S=1 kfffde[2].xptr.chk: 8 ; 0x4b7: 0x08 kfffde[3].xptr.au: 4294967294 ; 0x4b8: 0xfffffffe kfffde[3].xptr.disk: 3 ; 0x4bc: 0x0003 kfffde[3].xptr.flags: 32 ; 0x4be: L=0 E=0 D=0 S=1 kfffde[3].xptr.chk: 8 ; 0x4bf: 0x08 kfffde[4].xptr.au: 1708 ; 0x4c0: 0x000006ac kfffde[4].xptr.disk: 2 ; 0x4c4: 0x0002 kfffde[4].xptr.flags: 0 ; 0x4c6: L=0 E=0 D=0 S=0 kfffde[4].xptr.chk: 130 ; 0x4c7: 0x82 kfffde[5].xptr.au: 1708 ; 0x4c8: 0x000006ac kfffde[5].xptr.disk: 1 ; 0x4cc: 0x0001 kfffde[5].xptr.flags: 0 ; 0x4ce: L=0 E=0 D=0 S=0 kfffde[5].xptr.chk: 129 ; 0x4cf: 0x81 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 kfffde[6].xptr.chk: 42 ; 0x4d7: 0x2a
從kfffde[0].xptr.au=1706,kfffde[0].xptr.disk=1,kfffde[1].xptr.au=1711,kfffde[1].xptr.disk=0,kfffde[4].xptr.au=1708,kfffde[4].xptr.disk=2,kfffde[5].xptr.au=1708,kfffde[5].xptr.disk=1可知staleness registry(254號檔案)分佈在0號磁碟(/dev/raw/raw11)的1711號AU,1號磁碟(/dev/raw/raw4)的1706,1708號AU,2號磁碟(/dev/raw/raw3)的1708號AU中。
元資訊中並沒有很多有價值的資訊,連kfed都無法分辨出這種型別元資訊block,除了一些位元位,沒有太多有價值資訊
[grid@jyrac1 ~]$ kfed read /dev/raw/raw4 aun=1707 | more kfbh.endian: 1 ; 0x000: 0x01 kfbh.hard: 130 ; 0x001: 0x82 kfbh.type: 21 ; 0x002: *** Unknown Enum *** kfbh.datfmt: 1 ; 0x003: 0x01 kfbh.block.blk: 0 ; 0x004: blk=0 kfbh.block.obj: 12 ; 0x008: file=12 kfbh.check: 981317996 ; 0x00c: 0x3a7db96c kfbh.fcn.base: 7015 ; 0x010: 0x00001b67 kfbh.fcn.wrap: 0 ; 0x014: 0x00000000 kfbh.spare1: 0 ; 0x018: 0x00000000 kfbh.spare2: 0 ; 0x01c: 0x00000000 kffdnd.bnode.incarn: 1 ; 0x000: A=1 NUMM=0x0 kffdnd.bnode.frlist.number: 4294967295 ; 0x004: 0xffffffff kffdnd.bnode.frlist.incarn: 0 ; 0x008: A=0 NUMM=0x0 kffdnd.overfl.number: 1 ; 0x00c: 0x00000001 kffdnd.overfl.incarn: 1 ; 0x010: A=1 NUMM=0x0 kffdnd.parent.number: 0 ; 0x014: 0x00000000 kffdnd.parent.incarn: 1 ; 0x018: A=1 NUMM=0x0 kffdnd.fstblk.number: 0 ; 0x01c: 0x00000000 kffdnd.fstblk.incarn: 1 ; 0x020: A=1 NUMM=0x0 kfdsde.entry.incarn: 1 ; 0x024: A=1 NUMM=0x0 kfdsde.entry.hash: 0 ; 0x028: 0x00000000 kfdsde.entry.refer.number: 4294967295 ; 0x02c: 0xffffffff kfdsde.entry.refer.incarn: 0 ; 0x030: A=0 NUMM=0x0 kfdsde.cid: jyrac2:jyrac:+ASM2 ; 0x034: length=18 kfdsde.indlen: 1 ; 0x074: 0x0001 kfdsde.flags: 0 ; 0x076: 0x0000 kfdsde.spare1: 0 ; 0x078: 0x00000000 kfdsde.spare2: 0 ; 0x07c: 0x00000000 kfdsde.indices[0]: 0 ; 0x080: 0x00000000 kfdsde.indices[1]: 0 ; 0x084: 0x00000000 kfdsde.indices[2]: 0 ; 0x088: 0x00000000 kfdsde.indices[3]: 0 ; 0x08c: 0x00000000 kfdsde.indices[4]: 0 ; 0x090: 0x00000000 kfdsde.indices[5]: 0 ; 0x094: 0x00000000 kfdsde.indices[6]: 0 ; 0x098: 0x00000000 kfdsde.indices[7]: 0 ; 0x09c: 0x00000000 kfdsde.indices[8]: 0 ; 0x0a0: 0x00000000 kfdsde.indices[9]: 0 ; 0x0a4: 0x00000000 kfdsde.indices[10]: 0 ; 0x0a8: 0x00000000 kfdsde.indices[11]: 0 ; 0x0ac: 0x00000000 kfdsde.indices[12]: 0 ; 0x0b0: 0x00000000 kfdsde.indices[13]: 0 ; 0x0b4: 0x00000000 kfdsde.indices[14]: 0 ; 0x0b8: 0x00000000 kfdsde.indices[14]: 0 ; 0x0b8: 0x00000000 [grid@jyrac1 ~]$ kfed read /dev/raw/raw4 aun=1708 | more kfbh.endian: 1 ; 0x000: 0x01 kfbh.hard: 130 ; 0x001: 0x82 kfbh.type: 20 ; 0x002: *** Unknown Enum *** kfbh.datfmt: 1 ; 0x003: 0x01 kfbh.block.blk: 256 ; 0x004: blk=256 kfbh.block.obj: 254 ; 0x008: file=254 kfbh.check: 3890924893 ; 0x00c: 0xe7eacd5d kfbh.fcn.base: 0 ; 0x010: 0x00000000 kfbh.fcn.wrap: 0 ; 0x014: 0x00000000 kfbh.spare1: 0 ; 0x018: 0x00000000 kfbh.spare2: 0 ; 0x01c: 0x00000000 kfdsHdrB.clientId: 996679687 ; 0x000: 0x3b682007 kfdsHdrB.incarn: 0 ; 0x004: 0x00000000 kfdsHdrB.dskNum: 3 ; 0x008: 0x0003 kfdsHdrB.ub2spare: 0 ; 0x00a: 0x0000 ub1[0]: 0 ; 0x00c: 0x00 ub1[1]: 0 ; 0x00d: 0x00 ub1[2]: 0 ; 0x00e: 0x00 ub1[3]: 0 ; 0x00f: 0x00 ub1[4]: 0 ; 0x010: 0x00 ub1[5]: 0 ; 0x011: 0x00 ub1[6]: 0 ; 0x012: 0x00 ub1[7]: 0 ; 0x013: 0x00 ub1[8]: 0 ; 0x014: 0x00 ub1[9]: 32 ; 0x015: 0x20 ub1[10]: 0 ; 0x016: 0x00 ub1[11]: 128 ; 0x017: 0x80 ub1[12]: 0 ; 0x018: 0x00 ub1[13]: 56 ; 0x019: 0x38 ub1[14]: 120 ; 0x01a: 0x78 ub1[15]: 1 ; 0x01b: 0x01 ub1[16]: 32 ; 0x01c: 0x20 ub1[17]: 0 ; 0x01d: 0x00 ub1[18]: 0 ; 0x01e: 0x00 ub1[19]: 0 ; 0x01f: 0x00 ub1[20]: 0 ; 0x020: 0x00 ub1[21]: 0 ; 0x021: 0x00 ub1[22]: 0 ; 0x022: 0x00 ub1[23]: 0 ; 0x023: 0x00 ub1[24]: 0 ; 0x024: 0x00 ub1[25]: 0 ; 0x025: 0x00 ub1[26]: 0 ; 0x026: 0x00 ub1[27]: 0 ; 0x027: 0x00 ub1[28]: 0 ; 0x028: 0x00
小結:
staleness directory 和 staleness registry提供的元資訊結構用來為ASM 11中引入的fast mirror resync新特性提供支援。staleness directory是ASM檔案號為12,包含了可以把staleness registry中的槽位對映給特定磁碟和客戶端的元資訊。當磁碟offline時,staleness registry用於跟蹤AU的狀態。這個特性只在NORMAL或HIGH冗餘模式的磁碟組中生效。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26015009/viewspace-2131893/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle ASM神書《撥雲見日 解密Oracle ASM核心》出版了OracleASM解密
- Oracle ASM擴容(NFS)OracleASMNFS
- 【ASM】Oracle asm刪除磁碟組注意事項ASMOracle
- Oracle ASM AMDU工具的使用OracleASM
- Oracle ASM Cluster File Systems (ACOracleASM
- Oracle:ASM & 密碼檔案OracleASM密碼
- Oracle 12C Database File Mapping for Oracle ASM FilesOracleDatabaseAPPASM
- 12C Oracle ASM Filter DriverOracleASMFilter
- Oracle ASM Rebalance執行過程OracleASM
- Overview of Oracle Flex ASM In Oracle 19c RAC-20220111ViewOracleFlexASM
- 【ASM】Oracle asm磁碟被格式化,如何掛載該磁碟組ASMOracle
- 【Oracle】ASM例項安裝入門OracleASM
- ORACLE ASM磁碟組空間溢位OracleASM
- hortonworks/registry 的Registry,registry存在,但是卻查不到
- 2.10.3 使用 Oracle Automatic Storage Management (Oracle ASM) 克隆資料庫OracleASM資料庫
- Oracle 12C ASM asmcmd amdu_extractOracleASM
- Oracle RAC日常運維-ASM磁碟擴容Oracle運維ASM
- Oracle ASM磁碟組擴容(AIX7.1)OracleASMAI
- ORACLE ASM的SSD磁碟空間回收分析OracleASM
- Oracle asm磁碟損壞異常恢復OracleASM
- oracle asm 資料塊重構恢復OracleASM
- 【BUILD_ORACLE】使用ASMLib包搭建ASM磁碟UIOracleASM
- Oracle Linux 7使用syslog來管理Oracle ASM的審計檔案OracleLinuxASM
- 【ASK_ORACLE】Oracle RAC配置ASM Filter Driver(ASMFD)(一)ASMFD簡介OracleASMFilter
- Oracle OCP(42):ASM 儲存結構簡介OracleASM
- Oracle ASM故障資料恢復解決方案OracleASM資料恢復
- Oracle RAC環境下ASM磁碟組擴容OracleASM
- Oracle資料庫 ASM磁碟線上擴容Oracle資料庫ASM
- 映象:registry
- 通過ORACLE VM virtualbox環境安裝oracle 11G RAC(ASM)OracleASM
- ORACLE RAC 11.2.0.4 ASM加盤導致叢集重啟之ASM sga設定過小OracleASM
- 關於Oracle 10g ASM磁碟大小的限制Oracle 10gASM
- Oracle 12c新特性--ASMFD(ASM Filter Driver)特性OracleASMFilter
- oracle10gR1 asm儲存簡單示例OracleASM
- 【BUILD_ORACLE】Oracle RAC配置ASM Filter Driver(ASMFD)(二)詳細配置步驟UIOracleASMFilter
- Oracle 11gR2 ASM例項記憶體管理OracleASM記憶體
- oracle RAC+DG 擴容ASM和表空間(Linux)OracleASMLinux
- Oracle使用RMAN將普通資料檔案轉成ASMOracleASM
- Oracle 11gRac 測試案例(五)ASM功能測試OracleASM