#ASM 翻译系列第二十四弹:ASM Internal ASM files number 10 and 11
2017-02-22 12:12
387 查看
原文: ASM files number 10 and 11
作者: Bane Radulovic
译者:郭旭瑞,沃趣科技产品交付部经理,负责QData Cloud高性能数据库云平台、QBackup数据库秒级备份恢复云平台等产品的整体交付管理与技术支持、维保服务工作。
审校:魏兴华
责编:仲培艺
本篇介绍ASM元信息的十号文件和十一号文件,ASM元信息10号文件是ASM用户目录,11号文件是组目录。它们是用来为ASM文件访问控制特性提供支持的元信息结构。
ASM文件访问控制机制用来限制特定的ASM客户端(通常就是数据库实例)对文件的访问,它是基于操作系统层database home的effective user标识号实现的。
这些信息可以通过
下面是操作系统中我们创建的用户。
接下来就是我在磁盘组中设置的用户和组。
对于每个用户,用户目录元信息中都有一个block相对应,而block号是跟用户号(对应
所以,1号block对应1100号操作系统用户。这与上文
正如所想的,以上显示了ASM用户目录中的四个操作系统用户对应的ID。
组目录也是一个条目对应一个block,block号也是跟ASM组号码匹配的。继续验证。
以上显示了该磁盘组中对应的组名称。
作者: Bane Radulovic
译者:郭旭瑞,沃趣科技产品交付部经理,负责QData Cloud高性能数据库云平台、QBackup数据库秒级备份恢复云平台等产品的整体交付管理与技术支持、维保服务工作。
审校:魏兴华
责编:仲培艺
本篇介绍ASM元信息的十号文件和十一号文件,ASM元信息10号文件是ASM用户目录,11号文件是组目录。它们是用来为ASM文件访问控制特性提供支持的元信息结构。
ASM文件访问控制机制用来限制特定的ASM客户端(通常就是数据库实例)对文件的访问,它是基于操作系统层database home的effective user标识号实现的。
这些信息可以通过
V$ASM_USER、
V$ASM_USERGROUP、
$ASM_USERGROUP_MEMBER视图查询到。
ASM users and groups
如果要使用ASM文件访问控制特性,我们需要适当的设置操作系统用户和组。通过ALTER DISKGROUP ADD USERGROUP命令将用户和组添加至ASM磁盘组中。这一步略过,我们把关注点集中在ASM用户和组目录上。下面是操作系统中我们创建的用户。
$ id grid uid=1100(grid) gid=1000(oinstall) groups=1000(oinstall),1020(asmadmin),1021(asmdba),1031(dba) $ id oracle uid=1101(oracle) gid=1000(oinstall) groups=1000(oinstall),1021(asmdba),1031(dba) $ id oracle1 uid=1102(oracle1) gid=1033(dba1) groups=1033(dba1) $ id oracle2 uid=1103(oracle2) gid=1034(dba2) groups=1034(dba2)
接下来就是我在磁盘组中设置的用户和组。
SQL> SELECT u.group_number "Disk group#", u.os_id "OS ID", u.os_name "OS user", u.user_number "ASM user#", g.usergroup_number "ASM group#", g.name "ASM user group" FROM v$asm_user u, v$asm_usergroup g, v$asm_usergroup_member m WHERE u.group_number=g.group_number and u.group_number=m.group_number and u.user_number=m.member_number and g.usergroup_number=m.usergroup_number ORDER BY 1, 2; Disk group# OS ID OS user ASM user# ASM group# ASM user group ----------- ----- ------- --------- ---------- -------------- 1 1100 grid 1 3 GRIDTEAM 1101 oracle 2 1 DBATEAM1 1102 oracle1 3 2 DBATEAM2 1103 oracle2 4 2 DBATEAM2 2 1101 oracle 2 1 DBATEAM1
Look inside
在1号磁盘组中获取ASM用户和组目录所在的AU。SQL> SELECT x.number_kffxp "File#", x.disk_kffxp "Disk#", x.xnum_kffxp "Extent", x.au_kffxp "AU", d.name "Disk name" FROM x$kffxp x, v$asm_disk_stat d WHERE x.group_kffxp=d.group_number and x.disk_kffxp=d.disk_number and d.group_number=1 and x.number_kffxp in (10, 11) ORDER BY 1, 2; File# Disk# Extent AU Disk name ---------- ---------- ---------- ---------- ------------------------------ 10 0 0 2139 ASMDISK5 1 0 2139 ASMDISK6 11 0 0 2140 ASMDISK5 1 0 2140 ASMDISK6
对于每个用户,用户目录元信息中都有一个block相对应,而block号是跟用户号(对应
v$asm_user的
user_number列)相对应的。如果我们有四个用户,用户号码分别对应1-4,那么他们也分别位于1-4号block中。接下来加以验证。
$ kfed read /dev/oracleasm/disks/ASMDISK5 aun=2139 blkn=1 | more kfbh.endian: 1 ; 0x000: 0x01 kfbh.hard: 130 ; 0x001: 0x82 kfbh.type: 24 ; 0x002: KFBTYP_USERDIR ... kfzude.user: 1100 ; 0x038: length=4 ...
所以,1号block对应1100号操作系统用户。这与上文
v$asm_user查询结果是匹配的。接下来看其它block。
$ let b=1 $ while (( $b <= 4 )) do kfed read /dev/oracleasm/disks/ASMDISK5 aun=2139 blkn=$b | grep kfzude.user let b=b+1 done kfzude.user: 1100 ; 0x038: length=4 kfzude.user: 1101 ; 0x038: length=4 kfzude.user: 1102 ; 0x038: length=4 kfzude.user: 1103 ; 0x038: length=4
正如所想的,以上显示了ASM用户目录中的四个操作系统用户对应的ID。
组目录也是一个条目对应一个block,block号也是跟ASM组号码匹配的。继续验证。
$ let b=1 $ while (( $b <= 3 )) do kfed read /dev/oracleasm/disks/ASMDISK5 aun=2140 blkn=$b | grep kfzgde.name let b=b+1 done kfzgde.name: DBATEAM1 ; 0x03c: length=8 kfzgde.name: DBATEAM2 ; 0x03c: length=8 kfzgde.name: GRIDTEAM ; 0x03c: length=8
以上显示了该磁盘组中对应的组名称。
Conclusion
ASM用户目录和组目录是用来为ASM文件访问控制特性提供支持的元信息结构,该特性在11.2版本中引入。这些信息可以通过V$ASM_USER、
V$ASM_USERGROUP、
$ASM_USERGROUP_MEMBER视图查询到。
相关文章推荐
- #ASM 翻译系列第二十三弹:ASM Internal ASM files number 12 and 254
- #ASM 翻译系列第二十弹:ASM Internal ASM file number 7
- #ASM 翻译系列第二十二弹:ASM Internal ASM file number 8
- #ASM 翻译系列第二十九弹:ASM INTERNAL Free Space Table
- #ASM 翻译系列第十八弹:ASM Internal ASM file number 5
- #ASM 翻译系列第十七弹:ASM Internal ASM Disk Directory
- #ASM 翻译系列第三十二弹:ASM INTERNAL Find block in ASM
- ###ASM 翻译系列第二十八弹:ASM INTERNAL Partnership and Status Table
- #ASM 翻译系列第十九弹:ASM Internal ASM Continuing Operations Directory
- #ASM 翻译系列第三十四弹:ASM INTERNAL ASM Disk Group Attributes
- #ASM 翻译系列第二十七弹:ASM INTERNAL ASM METADATA BLOCK
- #ASM 翻译系列第十六弹:ASM Internal ASM Active Change Directory
- #ASM 翻译系列第三十一弹:ASM INTERNAL How many allocation units per file
- ASM 翻译系列第十弹:ASM Internal ASM DISK header
- making 11 connections and the number of simultaneous builds has been throttled to 10
- ASM 翻译系列第十二弹:ASM Internal amdu - ASM Metadata Dump Utility
- #ASM 翻译系列第三十三弹:ASM 高级知识 REQUIRED_MIRROR_FREE_MB
- #ASM 翻译系列第二十五弹:ASM 高级知识 When will my rebalance complete
- We are already in the process of making 11 connections and the number of simultaneous builds has been throttled to 10
- ASM 翻译系列第十七弹:ASM Internal ASM Disk Directory