Oracle ASM User Directory and Group Directory
ASM元資訊的10號檔案是ASM使用者目錄,11號檔案是組目錄。它們是用來為ASM檔案訪問控制特性提供支援的元資訊結構。ASM檔案訪問控制機制用來限制特定的ASM客戶端(通常就是資料庫例項)對檔案的訪問,它是基於作業系統層database home的effective user標識號實現的。這些資訊可以透過V$ASM_USER、V$ASM_USERGROUP、$ASM_USERGROUP_MEMBER檢視查詢到。
ASM使用者與組
如果要使用ASM檔案訪問控制特性,我們需要適當的設定作業系統使用者和組。透過ALTER DISKGROUP ADD USERGROUP命令將使用者和組新增至ASM磁碟組中。下面的語句將對5號磁碟組(USD)增加使用者組。
下面是作業系統中我們建立的使用者。
[root@jyrac1 bin]# id grid uid=500(grid) gid=505(oinstall) groups=505(oinstall),500(asmadmin),501(asmdba),502(asmoper),503(dba) [root@jyrac1 bin]# id oracle uid=501(oracle) gid=505(oinstall) groups=505(oinstall),501(asmdba),503(dba),504(oper)
給磁碟組設定使用者與組
SQL> alter diskgroup usd add usergroup 'test_usergroup' with member 'grid','oracle'; alter diskgroup usd add usergroup 'test_usergroup' with member 'grid','oracle' * ERROR at line 1: ORA-15032: not all alterations performed ORA-15304: operation requires ACCESS_CONTROL.ENABLED attribute to be TRUE
錯誤資訊顯示對於5號磁碟組(USD)的access_control.enabled屬性需要啟用才能給磁碟組設定使用者與組
[grid@jyrac1 ~]$ asmcmd setattr -G USD access_control.enabled 'TRUE'; [grid@jyrac1 ~]$ asmcmd lsattr -lm access_control.enabled Group_Name Name Value RO Sys ACFS access_control.enabled FALSE N Y ARCHDG access_control.enabled FALSE N Y CRSDG access_control.enabled FALSE N Y DATADG access_control.enabled FALSE N Y USD access_control.enabled TRUE N Y SQL> alter diskgroup usd add usergroup 'test_usergroup' with member 'grid','oracle'; Diskgroup altered.
執行以下查詢來獲得在磁碟組中設定的使用者和組
SQL> col "disk group#" for 999 SQL> col "os id" for a10 SQL> col "os user" for a10 SQL> col "asm user#" for 999 SQL> col "asm group#" for 999 SQL> col "asm user group" for a40 SQL> select u.group_number "disk group#", 2 u.os_id "os id", 3 u.os_name "os user", 4 u.user_number "asm user#", 5 g.usergroup_number "asm group#", 6 g.name "asm user group" 7 from v$asm_user u, v$asm_usergroup g, v$asm_usergroup_member m 8 where u.group_number=g.group_number and u.group_number=m.group_number 9 and u.user_number=m.member_number 10 and g.usergroup_number=m.usergroup_number 11 order by 1, 2; disk group# os id os user asm user# asm group# asm user group ----------- ---------- ---------- --------- ---------- ---------------------------------------- 5 500 grid 1 1 test_usergroup 5 501 oracle 2 1 test_usergroup
獲取5號磁碟組的ASM使用者和組目錄所在的AU
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(10,11) 7 order by 1,2,3; file# group# disk # disk name disk path virtual extent physical extent au ----- ---------- ---------- ------------------------------ ---------------------------------------- -------------- --------------- ---------- 10 5 0 USD_0000 /dev/raw/raw7 0 1 100 10 5 1 USD_0001 /dev/raw/raw12 0 0 164 11 5 0 USD_0000 /dev/raw/raw7 0 1 101 11 5 1 USD_0001 /dev/raw/raw12 0 0 165
從上面的結果可以看到10號檔案有兩份映象,分別儲存在5號磁碟組的0號磁碟(/dev/raw/raw7)的100號AU與1號磁碟(/dev/raw/raw12)的164號AU,11號檔案有兩份映象分別儲存在分別儲存在5號磁碟組的0號磁碟(/dev/raw/raw7)的101號AU與1號磁碟(/dev/raw/raw12)的165號AU。
透過kfed工具來獲得5號磁碟組的使用者與組目錄的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號檔案,從中找出要讀的目標檔案在磁碟上的分佈位置,然後再去讀取相應的檔案的資料。由於使用者目錄是10號檔案,組目錄是11號檔案,這可以透過讀取5號磁碟組的0號磁碟(/dev/raw/raw7)的2號AU的10與11號塊來獲得
[grid@jyrac1 ~]$ kfed read /dev/raw/raw7 aun=2 blkn=10 | 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: 10 ; 0x004: blk=10 kfbh.block.obj: 1 ; 0x008: file=1 kfbh.check: 751075078 ; 0x00c: 0x2cc47f06 kfbh.fcn.base: 7473 ; 0x010: 0x00001d31 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: 33043408 ; 0x050: HOUR=0x10 DAYS=0x1e MNTH=0xc YEAR=0x7e0 kfffdb.crets.lo: 2908193792 ; 0x054: USEC=0x0 MSEC=0x1e1 SECS=0x15 MINS=0x2b kfffdb.modts.hi: 33043408 ; 0x058: HOUR=0x10 DAYS=0x1e MNTH=0xc YEAR=0x7e0 kfffdb.modts.lo: 2908193792 ; 0x05c: USEC=0x0 MSEC=0x1e1 SECS=0x15 MINS=0x2b 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: 164 ; 0x4a0: 0x000000a4 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: 143 ; 0x4a7: 0x8f kfffde[1].xptr.au: 100 ; 0x4a8: 0x00000064 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: 78 ; 0x4af: 0x4e 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=164,kfffde[0].xptr.disk=1與kfffde[1].xptr.au=100,kfffde[1].xptr.disk=0可知10號檔案有兩份映象,分別儲存在5號磁碟組的0號磁碟(/dev/raw/raw7)的100號AU與1號磁碟(/dev/raw/raw12)的164號AU,與查詢語句所獲得的結果完全一致。
[grid@jyrac1 ~]$ kfed read /dev/raw/raw7 aun=2 blkn=11 | 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: 11 ; 0x004: blk=11 kfbh.block.obj: 1 ; 0x008: file=1 kfbh.check: 751074319 ; 0x00c: 0x2cc47c0f kfbh.fcn.base: 7737 ; 0x010: 0x00001e39 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: 33043408 ; 0x050: HOUR=0x10 DAYS=0x1e MNTH=0xc YEAR=0x7e0 kfffdb.crets.lo: 2908340224 ; 0x054: USEC=0x0 MSEC=0x270 SECS=0x15 MINS=0x2b kfffdb.modts.hi: 33043408 ; 0x058: HOUR=0x10 DAYS=0x1e MNTH=0xc YEAR=0x7e0 kfffdb.modts.lo: 2908340224 ; 0x05c: USEC=0x0 MSEC=0x270 SECS=0x15 MINS=0x2b 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: 165 ; 0x4a0: 0x000000a5 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: 142 ; 0x4a7: 0x8e kfffde[1].xptr.au: 101 ; 0x4a8: 0x00000065 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: 79 ; 0x4af: 0x4f 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=165,kfffde[0].xptr.disk=1與kfffde[1].xptr.au=101,kfffde[1].xptr.disk=0可知11號檔案有兩份映象,分別儲存在5號磁碟組的0號磁碟(/dev/raw/raw7)的101號AU與1號磁碟(/dev/raw/raw12)的165號AU,與查詢語句所獲得的結果完全一致。
對於每個使用者,使用者目錄元資訊中都有一個block相對應,而block號是跟使用者號(對應v$asm_user的user_number列)相對應的。我們有兩個使用者,使用者號碼分別對應1-2,那麼他們也分別位於1-2號block中。接下來加以驗證。
[grid@jyrac1 ~]$ kfed read /dev/raw/raw7 aun=100 blkn=1 | more kfbh.endian: 1 ; 0x000: 0x01 kfbh.hard: 130 ; 0x001: 0x82 kfbh.type: 24 ; 0x002: KFBTYP_USERDIR kfbh.datfmt: 1 ; 0x003: 0x01 kfbh.block.blk: 1 ; 0x004: blk=1 kfbh.block.obj: 10 ; 0x008: file=10 kfbh.check: 4275524483 ; 0x00c: 0xfed75383 kfbh.fcn.base: 7745 ; 0x010: 0x00001e41 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: 2 ; 0x00c: 0x00000002 kffdnd.overfl.incarn: 1 ; 0x010: A=1 NUMM=0x0 kffdnd.parent.number: 4294967295 ; 0x014: 0xffffffff kffdnd.parent.incarn: 0 ; 0x018: A=0 NUMM=0x0 kffdnd.fstblk.number: 0 ; 0x01c: 0x00000000 kffdnd.fstblk.incarn: 1 ; 0x020: A=1 NUMM=0x0 kfzude.entry.incarn: 1 ; 0x024: A=1 NUMM=0x0 kfzude.entry.hash: 0 ; 0x028: 0x00000000 kfzude.entry.refer.number: 4294967295 ; 0x02c: 0xffffffff kfzude.entry.refer.incarn: 0 ; 0x030: A=0 NUMM=0x0 kfzude.flags: 0 ; 0x034: 0x00000000 kfzude.user: 500 ; 0x038: length=3 ...
1號block對應500號作業系統使用者。這與上文v$asm_user查詢結果是匹配的。接下來看其他block。
[grid@jyrac1 ~]$ vi getuser.sh let b=1 while (($b < = 2)) do kfed read /dev/raw/raw7 aun=100 blkn=$b | grep kfzude.user let b=b+1 done [grid@jyrac1 ~]$ chmod 777 getuser.sh [grid@jyrac1 ~]$ ./getuser.sh kfzude.user: 500 ; 0x038: length=3 kfzude.user: 501 ; 0x038: length=3
正如所想的,以上顯示了ASM使用者目錄中的兩個作業系統使用者對應的ID。
組目錄也是一個條目對應一個block,block號也是跟ASM組號碼匹配的,繼續驗證。
[grid@jyrac1 ~]$ kfed read /dev/raw/raw7 aun=101 blkn=1 | more kfbh.endian: 1 ; 0x000: 0x01 kfbh.hard: 130 ; 0x001: 0x82 kfbh.type: 25 ; 0x002: KFBTYP_GROUPDIR kfbh.datfmt: 1 ; 0x003: 0x01 kfbh.block.blk: 1 ; 0x004: blk=1 kfbh.block.obj: 11 ; 0x008: file=11 kfbh.check: 2137693031 ; 0x00c: 0x7f6a9b67 kfbh.fcn.base: 7747 ; 0x010: 0x00001e43 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: 4294967295 ; 0x00c: 0xffffffff kffdnd.overfl.incarn: 0 ; 0x010: A=0 NUMM=0x0 kffdnd.parent.number: 4294967295 ; 0x014: 0xffffffff kffdnd.parent.incarn: 0 ; 0x018: A=0 NUMM=0x0 kffdnd.fstblk.number: 0 ; 0x01c: 0x00000000 kffdnd.fstblk.incarn: 1 ; 0x020: A=1 NUMM=0x0 kfzgde.entry.incarn: 1 ; 0x024: A=1 NUMM=0x0 kfzgde.entry.hash: 0 ; 0x028: 0x00000000 kfzgde.entry.refer.number: 4294967295 ; 0x02c: 0xffffffff kfzgde.entry.refer.incarn: 0 ; 0x030: A=0 NUMM=0x0 kfzgde.flags: 0 ; 0x034: 0x00000000 kfzgde.owner.entnum: 1 ; 0x038: 0x0001 kfzgde.owner.entinc: 1 ; 0x03a: 0x0001 kfzgde.name: test_usergroup ; 0x03c: length=14 ...
組目錄也是一個條目對應一個block,block號也是跟ASM組號碼匹配的,因為我這裡只有一個使用者組,如果有多個可以編寫指令碼來進行獲得
[grid@jyrac1 ~]$ vi getusergroup.sh let b=1 while (($b < = 3)) do kfed read /dev/raw/raw7 aun=101 blkn=$b | grep kfzgde.name let b=b+1 done [grid@jyrac1 ~]$ chmod 777 getusergroup.sh [grid@jyrac1 ~]$ ./getusergroup.sh kfzgde.name: test_usergroup ; 0x03c: length=14 kfzgde.name: ; 0x03c: length=0 kfzgde.name: ; 0x03c: length=0
小結:
ASM使用者目錄和組目錄是用來為ASM檔案訪問控制特性提供支援的元資訊結構,該特性在11.2版本中引入。這些資訊可以透過V$ASM_USER、V$ASM_USERGROUP、$ASM_USERGROUP_MEMBER檢視查詢到。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26015009/viewspace-2131763/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle ASM Disk DirectoryOracleASM
- Oracle ASM File DirectoryOracleASM
- Oracle ASM Alias DirectoryOracleASM
- Oracle ASM Template DirectoryOracleASM
- Oracle ASM Attributes DirectoryOracleASM
- 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
- MySQL 建表DATA DIRECTORY 、INDEX DIRECTORY 簡介MySqlIndex
- Oracle Directory目錄的知識Oracle
- ORACLE directory 目錄讀寫檔案Oracle
- Using Create directory & UTL_FILE in OracleOracle
- 【DIRECTORY】普通使用者建立Oracle DIRECTORY資料庫物件的許可權需求及探索Oracle資料庫物件
- asmcmd does not exist in directoryASM
- shell script to rename directory
- Oracle ASM spfile in a disk groupOracleASM
- 自定義容器啟動指令碼報錯:exec user process caused "no such file or directory"指令碼
- oracle 11g expdb autoextend tablespace and create directory error;OracleError
- The directory xx is registered as a Git rootGit
- Active Directory 常用屬性
- python unix :No such file or directoryPython
- oracle中create directory建在/home/oracle下可能存在的風險Oracle
- Oracle ASM ACFS disk group rebalanceOracleASM
- Oracle ASM Disk Group AttributesOracleASM
- docker容器掛載 No such file or directoryDocker
- Error: parent directory is world writable but not stickyError
- mount other server cdrom&directoryServer
- RedHat ES5 500 OOPS: cannot change directory:/home/oracleRedhatOOPOracle
- gitbook no such file or directory 怎麼解決Git
- Standard directory layout for maven project contentMavenProject
- 500 OOPS: cannot change directory:/home/OOP