Oracle ASM Attributes Directory
Attributes Directory包含了關於磁碟組屬性的後設資料。只有當compatible.asm設定為11.1或更高版本時目錄才會在磁碟組中存在。Attribute Directory在磁碟組中的檔案號為9。直到ASM 11.1版本開始,才引入了磁碟組屬性的概念,它被用來細粒度的調整磁碟組的屬性。有些屬性只能在磁碟組建立時指定(如au_size),AU_SIZE屬性儲存在disk header中。如果compatible.asm設定為11.1或更高版本那麼compatible.asm將會儲存在PST中,否則compatible.asm將會被儲存在disk header中。在Oracle 11gr1中,compatible.rdbms與disk_repair_time以及compatible.asm被儲存在屬性目錄中。有些屬性可以在任何時候指定(如disk_repair_time)。
公共屬性
大多數屬性存放在屬性目錄並且可以透過查詢v$asm_attribute檢視獲得。我們透過查詢這個檢視來看下我的所有磁碟組的屬性資訊
SQL> col "group " for a30 SQL> col "attribute" for a50 SQL> col "value" for a50 SQL> select g.name "group", a.name "attribute", a.value "value" 2 from v$asm_diskgroup g, v$asm_attribute a 3 where g.group_number=a.group_number and a.name not like 'template%'; group attribute value ------------------------------------------------------------ -------------------------------------------------- -------------------------------------------------- ARCHDG compatible.asm 11.2.0.0.0 ARCHDG sector_size 512 ARCHDG access_control.umask 066 ARCHDG access_control.enabled FALSE ARCHDG cell.smart_scan_capable FALSE ARCHDG compatible.rdbms 10.1.0.0.0 ARCHDG disk_repair_time 3.6h ARCHDG au_size 1048576 CRSDG disk_repair_time 3.6h CRSDG access_control.enabled FALSE CRSDG cell.smart_scan_capable FALSE CRSDG compatible.rdbms 10.1.0.0.0 CRSDG compatible.asm 11.2.0.0.0 CRSDG sector_size 512 CRSDG au_size 1048576 CRSDG access_control.umask 066 DATADG compatible.asm 11.2.0.0.0 DATADG sector_size 512 DATADG au_size 1048576 DATADG disk_repair_time 3.6h DATADG compatible.rdbms 10.1.0.0.0 DATADG access_control.umask 066 DATADG access_control.enabled FALSE DATADG cell.smart_scan_capable FALSE ACFS disk_repair_time 3.6h ACFS au_size 1048576 ACFS access_control.umask 066 ACFS access_control.enabled FALSE ACFS cell.smart_scan_capable FALSE ACFS compatible.advm 11.2.0.0.0 ACFS compatible.rdbms 10.1.0.0.0 ACFS compatible.asm 11.2.0.0.0 ACFS sector_size 512 USD disk_repair_time 3.6h USD compatible.advm 11.2.0.0.0 USD cell.smart_scan_capable FALSE USD access_control.enabled FALSE USD access_control.umask 066 USD compatible.asm 11.2.0.0.0 USD sector_size 512 USD au_size 1048576 USD compatible.rdbms 11.2.0.0.0 42 rows selected.
可以在任何時候修改的屬性是disk repair time。以下是透過asmcmd修改USD磁碟組disk repair time屬性的命令
[grid@jyrac1 ~]$ asmcmd setattr -G USD disk_repair_time '8.0h' [grid@jyrac1 ~]$ asmcmd lsattr -lm disk_repair_time Group_Name Name Value RO Sys ACFS disk_repair_time 3.6h N Y ARCHDG disk_repair_time 3.6h N Y CRSDG disk_repair_time 3.6h N Y DATADG disk_repair_time 3.6h N Y USD disk_repair_time 8.0h N Y
從上面的查詢可以看到成功將USD磁碟組disk repair time屬性修改為8.0h了。
隱藏屬性
屬性目錄位於ASM後設資料的9號檔案。現在我們定位到5號磁碟組(USD)的屬性目錄。
SQL> select 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=9 7 order by 1,2; group# disk # disk name disk path virtual extent physical extent au ---------- ---------- ------------------------------ ---------------------------------------- -------------- --------------- ---------- 5 0 USD_0000 /dev/raw/raw7 0 0 50 5 1 USD_0001 /dev/raw/raw12 0 1 50
上面的查詢結果顯示屬性目錄有兩份映象副本(磁碟組是normal冗餘),AU分佈在5號磁碟組(USD)的0號磁碟(/dev/raw/raw7)的50號AU,與1號磁碟(/dev/raw/raw12)的50號AU中。
透過kfed工具來獲得5號磁碟組(USD)的屬性目錄AU分佈情況
由於1號檔案總是開始在0號磁碟2號AU,記住這個位置:0號盤2號AU。這是ASM中定位檔案的起點,它的作用,有點相當於磁碟上的引導區,在電腦開機後負責將OS啟動起來。1號檔案在最少情況下,至少有兩個AU。在1號檔案中,每個檔案佔用一個後設資料塊,存放自身的空間分佈資訊。每個後設資料塊大小是4K,一個AU是1M,哪麼,每個AU中,可以儲存256個檔案的空間分佈資訊。這其中,0號盤2號AU中,全是元檔案的資訊。再具體一點,0號盤2號AU,第一個後設資料塊被系統佔用,從第二個塊開始,到255為止,共255個後設資料塊,對應索引號1至255的檔案。其實,也就是全部的元檔案了。也就是說0號盤2號AU,儲存了全部元檔案的空間分佈資訊。1號檔案的第二個AU,從第一個塊開始,儲存256號檔案。第二個塊對應257號檔案,等等。每次從ASM中讀資料時,Oracle都要先讀到1號檔案,從中找出要讀的目標檔案在磁碟上的分佈位置,然後再去讀取相應的檔案的資料。由於屬性目錄是9號檔案,這可以透過讀取5號磁碟組的0號磁碟(/dev/raw/raw7)的2號AU的9號塊來獲得
[grid@jyrac1 ~]$ kfed read /dev/raw/raw7 aun=2 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: 9 ; 0x004: blk=9 kfbh.block.obj: 1 ; 0x008: file=1 kfbh.check: 20914363 ; 0x00c: 0x013f20bb kfbh.fcn.base: 6545 ; 0x010: 0x00001991 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: 17 ; 0x020: O=1 S=0 S=0 D=0 C=1 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: 33043406 ; 0x050: HOUR=0xe DAYS=0x1e MNTH=0xc YEAR=0x7e0 kfffdb.crets.lo: 3959646208 ; 0x054: USEC=0x0 MSEC=0xda SECS=0x0 MINS=0x3b kfffdb.modts.hi: 0 ; 0x058: HOUR=0x0 DAYS=0x0 MNTH=0x0 YEAR=0x0 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: 50 ; 0x4a0: 0x00000032 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: 24 ; 0x4a7: 0x18 kfffde[1].xptr.au: 50 ; 0x4a8: 0x00000032 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: 25 ; 0x4af: 0x19 kfffde[2].xptr.au: 4294967294 ; 0x4b0: 0xfffffffe kfffde[2].xptr.disk: 65534 ; 0x4b4: 0xfffe kfffde[2].xptr.flags: 0 ; 0x4b6: L=0 E=0 D=0 S=0 kfffde[2].xptr.chk: 42 ; 0x4b7: 0x2a
從kfffde[0].xptr.au=50,kfffde[0].xptr.disk=0,與kfffde[1].xptr.au=50,kfffde[1].xptr.au=50,kfffde[1].xptr.disk=1,可知屬性目錄有兩份映象副本(磁碟組是normal冗餘),AU分佈在5號磁碟組(USD)的0號磁碟(/dev/raw/raw7)的50號AU,與1號磁碟(/dev/raw/raw12)的50號AU中,這與查詢語句所獲得的結果相符。
現在用kfed工具進行檢視屬性目錄的具體內容:
[grid@jyrac1 ~]$ kfed read /dev/raw/raw7 aun=50 blkn=0 | more kfbh.endian: 1 ; 0x000: 0x01 kfbh.hard: 130 ; 0x001: 0x82 kfbh.type: 23 ; 0x002: KFBTYP_ATTRDIR kfbh.datfmt: 1 ; 0x003: 0x01 kfbh.block.blk: 0 ; 0x004: blk=0 kfbh.block.obj: 9 ; 0x008: file=9 kfbh.check: 2524475834 ; 0x00c: 0x967871ba kfbh.fcn.base: 7211 ; 0x010: 0x00001c2b 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: 5 ; 0x00c: 0x00000005 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 kfede[0].entry.incarn: 1 ; 0x024: A=1 NUMM=0x0 kfede[0].entry.hash: 0 ; 0x028: 0x00000000 kfede[0].entry.refer.number: 4294967295 ; 0x02c: 0xffffffff kfede[0].entry.refer.incarn: 0 ; 0x030: A=0 NUMM=0x0 kfede[0].name: disk_repair_time ; 0x034: length=16 kfede[0].value: 8.0h ; 0x074: length=4 kfede[0].length: 4 ; 0x174: 0x0004 kfede[0].flags: 16 ; 0x176: R=0 D=0 H=0 H=0 S=1 C=0 S=0 V=0 I=0 kfede[0].spare1[0]: 0 ; 0x178: 0x00000000 kfede[0].spare1[1]: 0 ; 0x17c: 0x00000000 kfede[0].spare1[2]: 0 ; 0x180: 0x00000000 kfede[0].spare1[3]: 0 ; 0x184: 0x00000000 kfede[0].spare1[4]: 0 ; 0x188: 0x00000000 kfede[0].spare1[5]: 0 ; 0x18c: 0x00000000 kfede[0].spare1[6]: 0 ; 0x190: 0x00000000 kfede[0].spare1[7]: 0 ; 0x194: 0x00000000 kfede[1].entry.incarn: 1 ; 0x198: A=1 NUMM=0x0 kfede[1].entry.hash: 0 ; 0x19c: 0x00000000 kfede[1].entry.refer.number: 4294967295 ; 0x1a0: 0xffffffff kfede[1].entry.refer.incarn: 0 ; 0x1a4: A=0 NUMM=0x0 kfede[1].name: _rebalance_compact ; 0x1a8: length=18 kfede[1].value: TRUE ; 0x1e8: length=4 kfede[1].length: 4 ; 0x2e8: 0x0004 kfede[1].flags: 22 ; 0x2ea: R=0 D=1 H=1 H=0 S=1 C=0 S=0 V=0 I=0 kfede[1].spare1[0]: 0 ; 0x2ec: 0x00000000 kfede[1].spare1[1]: 0 ; 0x2f0: 0x00000000 kfede[1].spare1[2]: 0 ; 0x2f4: 0x00000000 kfede[1].spare1[3]: 0 ; 0x2f8: 0x00000000 kfede[1].spare1[4]: 0 ; 0x2fc: 0x00000000 kfede[1].spare1[5]: 0 ; 0x300: 0x00000000 kfede[1].spare1[6]: 0 ; 0x304: 0x00000000 kfede[1].spare1[7]: 0 ; 0x308: 0x00000000 kfede[2].entry.incarn: 1 ; 0x30c: A=1 NUMM=0x0 kfede[2].entry.hash: 0 ; 0x310: 0x00000000 kfede[2].entry.refer.number: 4294967295 ; 0x314: 0xffffffff kfede[2].entry.refer.incarn: 0 ; 0x318: A=0 NUMM=0x0 kfede[2].name: _extent_sizes ; 0x31c: length=13 kfede[2].value: 1 4 16 ; 0x35c: length=6 kfede[2].length: 6 ; 0x45c: 0x0006 kfede[2].flags: 22 ; 0x45e: R=0 D=1 H=1 H=0 S=1 C=0 S=0 V=0 I=0 kfede[2].spare1[0]: 0 ; 0x460: 0x00000000 kfede[2].spare1[1]: 0 ; 0x464: 0x00000000 kfede[2].spare1[2]: 0 ; 0x468: 0x00000000 kfede[2].spare1[3]: 0 ; 0x46c: 0x00000000 kfede[2].spare1[4]: 0 ; 0x470: 0x00000000 kfede[2].spare1[5]: 0 ; 0x474: 0x00000000 kfede[2].spare1[6]: 0 ; 0x478: 0x00000000 kfede[2].spare1[7]: 0 ; 0x47c: 0x00000000 kfede[3].entry.incarn: 1 ; 0x480: A=1 NUMM=0x0 kfede[3].entry.hash: 0 ; 0x484: 0x00000000 kfede[3].entry.refer.number: 4294967295 ; 0x488: 0xffffffff kfede[3].entry.refer.incarn: 0 ; 0x48c: A=0 NUMM=0x0 kfede[3].name: _extent_counts ; 0x490: length=14 kfede[3].value: 20000 20000 2147483647 ; 0x4d0: length=22 kfede[3].length: 22 ; 0x5d0: 0x0016 kfede[3].flags: 22 ; 0x5d2: R=0 D=1 H=1 H=0 S=1 C=0 S=0 V=0 I=0 kfede[3].spare1[0]: 0 ; 0x5d4: 0x00000000 kfede[3].spare1[1]: 0 ; 0x5d8: 0x00000000 kfede[3].spare1[2]: 0 ; 0x5dc: 0x00000000 kfede[3].spare1[3]: 0 ; 0x5e0: 0x00000000 kfede[3].spare1[4]: 0 ; 0x5e4: 0x00000000 kfede[3].spare1[5]: 0 ; 0x5e8: 0x00000000 kfede[3].spare1[6]: 0 ; 0x5ec: 0x00000000 kfede[3].spare1[7]: 0 ; 0x5f0: 0x00000000 kfede[4].entry.incarn: 1 ; 0x5f4: A=1 NUMM=0x0 kfede[4].entry.hash: 0 ; 0x5f8: 0x00000000 kfede[4].entry.refer.number: 1 ; 0x5fc: 0x00000001 kfede[4].entry.refer.incarn: 1 ; 0x600: A=1 NUMM=0x0 kfede[4].name: _ ; 0x604: length=1 kfede[4].value: 0 ; 0x644: length=1 kfede[4].length: 1 ; 0x744: 0x0001 kfede[4].flags: 22 ; 0x746: R=0 D=1 H=1 H=0 S=1 C=0 S=0 V=0 I=0 kfede[4].spare1[0]: 0 ; 0x748: 0x00000000 kfede[4].spare1[1]: 0 ; 0x74c: 0x00000000 kfede[4].spare1[2]: 0 ; 0x750: 0x00000000 kfede[4].spare1[3]: 0 ; 0x754: 0x00000000 kfede[4].spare1[4]: 0 ; 0x758: 0x00000000 kfede[4].spare1[5]: 0 ; 0x75c: 0x00000000 kfede[4].spare1[6]: 0 ; 0x760: 0x00000000 kfede[4].spare1[7]: 0 ; 0x764: 0x00000000 kfede[5].entry.incarn: 1 ; 0x768: A=1 NUMM=0x0 kfede[5].entry.hash: 0 ; 0x76c: 0x00000000 kfede[5].entry.refer.number: 4294967295 ; 0x770: 0xffffffff kfede[5].entry.refer.incarn: 0 ; 0x774: A=0 NUMM=0x0 kfede[5].name: au_size ; 0x778: length=7 kfede[5].value: ; 0x7b8: length=9 kfede[5].length: 9 ; 0x8b8: 0x0009 kfede[5].flags: 147 ; 0x8ba: R=1 D=1 H=0 H=0 S=1 C=0 S=0 V=1 I=0 kfede[5].spare1[0]: 0 ; 0x8bc: 0x00000000 kfede[5].spare1[1]: 0 ; 0x8c0: 0x00000000 kfede[5].spare1[2]: 0 ; 0x8c4: 0x00000000 kfede[5].spare1[3]: 0 ; 0x8c8: 0x00000000 kfede[5].spare1[4]: 0 ; 0x8cc: 0x00000000 kfede[5].spare1[5]: 0 ; 0x8d0: 0x00000000 kfede[5].spare1[6]: 0 ; 0x8d4: 0x00000000 kfede[5].spare1[7]: 0 ; 0x8d8: 0x00000000 kfede[6].entry.incarn: 1 ; 0x8dc: A=1 NUMM=0x0 kfede[6].entry.hash: 0 ; 0x8e0: 0x00000000 kfede[6].entry.refer.number: 4294967295 ; 0x8e4: 0xffffffff kfede[6].entry.refer.incarn: 0 ; 0x8e8: A=0 NUMM=0x0 kfede[6].name: sector_size ; 0x8ec: length=11 kfede[6].value: ; 0x92c: length=9 kfede[6].length: 9 ; 0xa2c: 0x0009 kfede[6].flags: 147 ; 0xa2e: R=1 D=1 H=0 H=0 S=1 C=0 S=0 V=1 I=0 kfede[6].spare1[0]: 0 ; 0xa30: 0x00000000 kfede[6].spare1[1]: 0 ; 0xa34: 0x00000000 kfede[6].spare1[2]: 0 ; 0xa38: 0x00000000 kfede[6].spare1[3]: 0 ; 0xa3c: 0x00000000 kfede[6].spare1[4]: 0 ; 0xa40: 0x00000000 kfede[6].spare1[5]: 0 ; 0xa44: 0x00000000 kfede[6].spare1[6]: 0 ; 0xa48: 0x00000000 kfede[6].spare1[7]: 0 ; 0xa4c: 0x00000000 kfede[7].entry.incarn: 1 ; 0xa50: A=1 NUMM=0x0 kfede[7].entry.hash: 0 ; 0xa54: 0x00000000 kfede[7].entry.refer.number: 2 ; 0xa58: 0x00000002 kfede[7].entry.refer.incarn: 1 ; 0xa5c: A=1 NUMM=0x0 kfede[7].name: compatible ; 0xa60: length=10 kfede[7].value: ; 0xaa0: length=9 kfede[7].length: 9 ; 0xba0: 0x0009 kfede[7].flags: 178 ; 0xba2: R=0 D=1 H=0 H=0 S=1 C=1 S=0 V=1 I=0 kfede[7].spare1[0]: 0 ; 0xba4: 0x00000000 kfede[7].spare1[1]: 0 ; 0xba8: 0x00000000 kfede[7].spare1[2]: 0 ; 0xbac: 0x00000000 kfede[7].spare1[3]: 0 ; 0xbb0: 0x00000000 kfede[7].spare1[4]: 0 ; 0xbb4: 0x00000000 kfede[7].spare1[5]: 0 ; 0xbb8: 0x00000000 kfede[7].spare1[6]: 0 ; 0xbbc: 0x00000000 kfede[7].spare1[7]: 0 ; 0xbc0: 0x00000000 kfede[8].entry.incarn: 1 ; 0xbc4: A=1 NUMM=0x0 kfede[8].entry.hash: 0 ; 0xbc8: 0x00000000 kfede[8].entry.refer.number: 3 ; 0xbcc: 0x00000003 kfede[8].entry.refer.incarn: 1 ; 0xbd0: A=1 NUMM=0x0 kfede[8].name: cell ; 0xbd4: length=4 kfede[8].value: FALSE ; 0xc14: length=5 kfede[8].length: 5 ; 0xd14: 0x0005 kfede[8].flags: 34 ; 0xd16: R=0 D=1 H=0 H=0 S=0 C=1 S=0 V=0 I=0 kfede[8].spare1[0]: 0 ; 0xd18: 0x00000000 kfede[8].spare1[1]: 0 ; 0xd1c: 0x00000000 kfede[8].spare1[2]: 0 ; 0xd20: 0x00000000 kfede[8].spare1[3]: 0 ; 0xd24: 0x00000000 kfede[8].spare1[4]: 0 ; 0xd28: 0x00000000 kfede[8].spare1[5]: 0 ; 0xd2c: 0x00000000 kfede[8].spare1[6]: 0 ; 0xd30: 0x00000000 kfede[8].spare1[7]: 0 ; 0xd34: 0x00000000 kfede[9].entry.incarn: 1 ; 0xd38: A=1 NUMM=0x0 kfede[9].entry.hash: 0 ; 0xd3c: 0x00000000 kfede[9].entry.refer.number: 4 ; 0xd40: 0x00000004 kfede[9].entry.refer.incarn: 1 ; 0xd44: A=1 NUMM=0x0 kfede[9].name: access_control ; 0xd48: length=14 kfede[9].value: FALSE ; 0xd88: length=5 kfede[9].length: 5 ; 0xe88: 0x0005 kfede[9].flags: 18 ; 0xe8a: R=0 D=1 H=0 H=0 S=1 C=0 S=0 V=0 I=0 kfede[9].spare1[0]: 0 ; 0xe8c: 0x00000000 kfede[9].spare1[1]: 0 ; 0xe90: 0x00000000 kfede[9].spare1[2]: 0 ; 0xe94: 0x00000000 kfede[9].spare1[3]: 0 ; 0xe98: 0x00000000 kfede[9].spare1[4]: 0 ; 0xe9c: 0x00000000 kfede[9].spare1[5]: 0 ; 0xea0: 0x00000000 kfede[9].spare1[6]: 0 ; 0xea4: 0x00000000 kfede[9].spare1[7]: 0 ; 0xea8: 0x00000000 kfede[i]欄位包含了磁碟組屬性的名稱和值。使用kfed read path | egrep "name|value"命令檢視所有的ASM磁碟組的屬性值 [grid@jyrac1 ~]$ kfed read /dev/raw/raw7 aun=50 blkn=0 | egrep "name|value" kfede[0].name: disk_repair_time ; 0x034: length=16 kfede[0].value: 8.0h ; 0x074: length=4 kfede[1].name: _rebalance_compact ; 0x1a8: length=18 kfede[1].value: TRUE ; 0x1e8: length=4 kfede[2].name: _extent_sizes ; 0x31c: length=13 kfede[2].value: 1 4 16 ; 0x35c: length=6 kfede[3].name: _extent_counts ; 0x490: length=14 kfede[3].value: 20000 20000 2147483647 ; 0x4d0: length=22 kfede[4].name: _ ; 0x604: length=1 kfede[4].value: 0 ; 0x644: length=1 kfede[5].name: au_size ; 0x778: length=7 kfede[5].value: ; 0x7b8: length=9 kfede[6].name: sector_size ; 0x8ec: length=11 kfede[6].value: ; 0x92c: length=9 kfede[7].name: compatible ; 0xa60: length=10 kfede[7].value: ; 0xaa0: length=9 kfede[8].name: cell ; 0xbd4: length=4 kfede[8].value: FALSE ; 0xc14: length=5 kfede[9].name: access_control ; 0xd48: length=14 kfede[9].value: FALSE ; 0xd88: length=5
上面的資訊還窺探到了許多隱藏的磁碟組屬性。可以看到_rebalance_compact屬性是TRUE。這個屬性關係到磁碟組rebalance中的compact環節。我們還可以看到extent的增長方式(extent_sizes),初始化大小會從1個AU到4個AU再到16AU。_extent_counts表示extent增長的斷點,前20000個extent只包含1個AU,接下來20000個extent包含4個AU,再往後的extent會包含16個AU。cell屬性是FALSE,access_control屬性是FALSE。
小結:
每個磁碟組都具有一些磁碟組的屬性,磁碟組屬性用來細粒度的控制磁碟組的特性。大多數屬性存放在屬性目錄並且可以透過查詢v$asm_attribute檢視獲得。] 在ASM 11.1之前的版本,我們也可以在建立磁碟組時指定AU的大小,這是透過ASM隱含引數_ASM_AUSIZE來實現的,在ASM 11.1及之後的版本,由於ASM磁碟組屬性的出現,就可以透過設定ASM磁碟組的AU_SIZE屬性值來達到同樣的目的。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26015009/viewspace-2131762/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle ASM User Directory and Group DirectoryOracleASM
- Oracle ASM Disk DirectoryOracleASM
- Oracle ASM File DirectoryOracleASM
- Oracle ASM Alias DirectoryOracleASM
- Oracle ASM Template DirectoryOracleASM
- Oracle ASM Disk Group AttributesOracleASM
- Oracle ASM Volume DirectoryOracleASM
- Oracle ASM Active Change DirectoryOracleASM
- Oracle ASM Disk Used Space DirectoryOracleASM
- Oracle ASM Staleness Directory and Staleness RegistryOracleASM
- Oracle ASM Continuing Operations DirectoryOracleASMUI
- create directory in OracleOracle
- move oracle 10 directoryOracle
- ORACLE directory 目錄Oracle
- oracle 之recovery directory databaseOracleDatabase
- Oracle Directory(目錄)介紹Oracle
- oracle asmOracleASM
- Oracle Directory目錄的知識Oracle
- 【ORACLE ASM】ASM 支援工具簡介OracleASM
- oracle asm命令OracleASM
- Oracle ASM 管理OracleASM
- Oracle ASM 限制OracleASM
- oracle asm asmcmdOracleASM
- ORACLE directory 目錄讀寫檔案Oracle
- Using Create directory & UTL_FILE in OracleOracle
- Database Triggers and event attributes--Event AttributesDatabase
- Oracle ASM Allocation TableOracleASM
- Oracle ASM Disk PartnerOracleASM
- Oracle Find block in ASMOracleBloCASM
- Oracle ASM 詳解OracleASM
- jQuery attributes(上)jQuery
- oracle中create directory建在/home/oracle下可能存在的風險Oracle
- oracle ASM中ASM_POWER_LIMIT引數OracleASMMIT
- Oracle ASM神書《撥雲見日 解密Oracle ASM核心》出版了OracleASM解密
- 【ASM】Oracle asm刪除磁碟組注意事項ASMOracle
- 【DIRECTORY】普通使用者建立Oracle DIRECTORY資料庫物件的許可權需求及探索Oracle資料庫物件
- Database Triggers and event attributes--Event Attributes【Blog 搬家】Database
- oracle 11g expdb autoextend tablespace and create directory error;OracleError