磁盘组属性是在ASM 11.1中引入的,它们属于磁盘组,不是属于ASM实例。有一些属性只能在磁盘组创建时设置,有一些只能在磁盘组创建之后设置,而有些属性可以在任何时候设置。
ACCESS_CONTROL.ENABLED
这个属性决定了对磁盘组是否启用ASM文件访问控制。它的参数值可以设置为TRUE或FALSE(缺省值)。如果属性被设置为TRUE,访问ASM文件受制于访问控制。如果为FALSE,任何用户都可以访问磁盘组中的文件。所有其它操作不依赖这个属性。这个属性只能在执行修改磁盘组时才能设置。
ACCESS_CONTROL.UMASK
这个属性决定了那些权限掩盖了创建ASM文件的所有者,组与用户组中的其它信息。这个属性应用于磁盘组中的所有文件。这个属性值可以是三个数字的组合 {0|2|6} {0|2|6} {0|2|6},缺省值是066。设置为'0'表示不掩盖任何信息。设置为'2'掩盖写权限,设置为'6'掩盖读写权限。在设置ACCESS_CONTROL.UMASK磁盘组属性之前,ACCESS_CONTROL.ENABLED必须被设置为TRUE。
AU_SIZE
这个属性控制着AU大小并且只能在创建磁盘组时进行设置。每个磁盘组可以有不同的AU大小。
CELL.SMART_SCAN_CAPABLE[Exadata]
这个属性在exadata中对storage cells中的grid disks创建磁盘组时使用。它能对存储在磁盘组中的对象启用smart scan功能。
COMPATIBLE.ASM
磁盘组的compatible.asm属性决定了可以使用这些磁盘组的ASM实例的最低软件版本。这个设置也会影响ASM元数据结构的格式。compatible.asm的缺省值为10.1,当使用create diskgroup语句时,ASMCMD的mkdg命令与EM的Create Disk Group page时会使用。当使用ASMCA创建磁盘组时,在ASM 11gr2中它的缺省值为11.2,在ASM 12c中它的缺省值为12.1。
COMPATIBLE.RDBMS
这个属性决定了使用磁盘组的任何数据库实例的compatible参数的最小值。在推进compatible.rdbms属性之前,确保访问磁盘组的所有数据库的compatible参数被设置为新的compatible.rdbms所允许的最小值。
COMPATIBLE.ADVM
这个属性值决定了是否磁盘组可以创建ASM卷。这个属性必须设置为11.2或更高版本。在设置这个属性之前,compatible.asm值必须被设置为11.2或更高版本,ADVM卷驱动必须被加载到所支持的环境中。缺省情况下,compatible.advm属性为空。
CONTENT.CHECK[12c]
当对磁盘组执行rebalance时,这个属性决定了是否启用或禁用内容检查。这个属性可以设置为TRUE或FALSE。内容检查包括对用户数据的硬件辅助弹性数据(HARD)检查,验证文件目录中的文件类型,文件目录信息与镜像比较。当这个属性设置为TRUE时,会对所有rebalance操作执行内容检查。内容检查也可以当作磁盘清除功能。
CONTENT.TYPE[11.2.0.3,Exadata]
这个属性标识磁盘组类型,它可以是DATA,RECOVERY或SYSTEM。它决定了最近的伙伴磁盘/故障磁盘组的距离。缺省值是DATA,它指定了距离为1,RECOVERY指定距离为3,SYSTEM指定距离为5。距离为1,意味着ASM会将所有磁盘考虑为伙伴关系。距离为3意味着每3个磁盘将被考虑为伙伴关系,距离为5意味着每5个磁盘将考虑为伙伴关系。
这个属性可以在创建或修改磁盘组时可以设置。如果content.type属性被设置或使用alter diskgroup被改变,新的配置直到磁盘组rebalance显式完成之前不会生效。
content.type属性只对normal与high冗余磁盘组有效。compatible.asm属性必须被设置为11.2.0.3或更高版本来启用content.type属性。
DISK_REPAIR_TIME
DISK_REPAIR_TIME属性决定了在磁盘删除之前,ASM将其它保持脱机状态的时间。这个属性与快速镜像重新同步功能相关,并且compatible.asm属性必须设置为11.1或更高版本。而且只能在修改磁盘组时才能设置。
FAILGROUP_REPAIR_TIME[12c]
这个属性指定了磁盘组中的故障磁盘组的缺省修复时间。故障磁盘组的修复时间在ASM判断整个故障磁盘组出现故障时会被用到。它的缺省值是24小时。如果对磁盘指定了修复时间,比如执行alter diskgroup offline disk drop after语句,那么磁盘修复时间将会覆盖故障磁盘组的修复时间。
这个属性只能对normal与high冗余磁盘组执行修改时进行设置。
IDP.BOUNDARY and IDP.TYPE[Exadata]
这两个属性被用来配置Exadata存储,并且与智能数据存储功能相关。
PHYS_META_REPLICATED[12c]
这个属性用来跟踪磁盘组的复制状态。当一个磁盘组的ASM的compatible被设置为12.1或更高版本时,每块磁盘的物理元数据会被复制。这些元数据包含磁盘头,可用空间表块与分配表块。复制操作是以联机异步方式执行。这个属性值被设置为true时,磁盘组中的每个磁盘中的物理元数据会被复制。
这个属性只能在compatible.asm被设置为12.1或更高版本才能对磁盘组进行定义。这个属性是只读状态并且用户不能设置或修改它。它的参数值为true或false。
SECTOR_SIZE
这个属性指定磁盘组中磁盘的sector size,并且只能在创建磁盘组时设置。SECTOR_SIZE的值可以是512,4094或4K(提供的磁盘支持这些参数值)。缺省值依赖于平台。compatible.asm与compatible.rdbms属性必须被设置为11.2或更高版本才能将sector size设置为非缺省值。ACFS不支持4KB的sector驱动。
STORAGE.TYPE
这个属性指定了磁盘组中的磁盘类型。它的参数值有:exadata,pillar,zfsas与other。如果属性被设置为exadata|pillar|zfsas,那么磁盘组中的所有磁盘必须是这种类型。如果属性被设置为other,磁盘组中的磁盘的类型可以是任何类型。
如果storage.type磁盘组属性被设置为pillar或zfsas,Hybrid Columnar Compression(HCC)混合列压缩功能可以对磁盘组中的对象启用。Exadata支持HCC。
注意:ZFS存储必须通过Direct NFS(dNFS)提供来使用,Pillar Axiom存储必须通过SCSI或光纤通道接口提供来使用。
为了设置storage.type属性,compatible.asm与compatible.rdbms磁盘组属性必须设置为11.2.0.3或更高版本。为了对ZFS存储提供最大化支持,将compatible.asm与compatible.rdbms磁盘组属性设置为11.2.0.4或更高版本。
storage.type属性可以在创建或修改磁盘组时进行设置。当客户端连接到磁盘组时不能进行设置。例如,当磁盘组使用ADVM卷时,这个属性不能进行设置。
这个属性在v$asm_attribute视图或ASMCMD lsattr命令中直到它被设置之前是不可见的。
THIN_PROVISIONED[12c]
这个属性在磁盘组完成rebalance操作之后用来启用或禁用丢弃没有使用的空间。这个属性值可以设置为true或false(缺省值)
。
存储厂商产品支持thin provisioning的能力来更用效率的重用丢弃的存储空间
APPLIANCE.MODE[11.2.0.4,Exadatga]
APPLIANCE.MODE属性提供了在删除一个或多个ASM磁盘时,磁盘rebalance完成时间。这意味着在磁盘故障后冗余会被快速还原。当在Exadata中创建新磁盘组时这个属性会自动被启用。现有磁盘组必须使用alter diskgroup命令来显式设置。这个功能叫作固定伙伴。
这个属性在满足以下条件时可以对磁盘组启用:
Oracle ASM磁盘组属性compatible.asm被设置为11.2.0.4或更高版本,CELL.SMART_SCAN_CAPABLE属性被设置为TRUE。磁盘组中的所有磁盘是相同的磁盘类型,比如都是磁盘或闪存磁盘。磁盘组中的所有磁盘是相同大小。磁盘组中的所有故障组有相同磁盘数。磁盘组中没有磁盘脱机。
最小化软件:Oracle Exadata Storage Server Software release 11.2.3.3 运行Oracle Database 11g Release 2(11.2) release 11.2.0.4
注意:这个功能在Oracle Database version 12.1.0.1中不可用。
Hidden disk group attributes
_REBALANCE_COMPACT
这个属性与rebalance的compacting阶段有关。这个属性可以为TRUE(缺省值)或FALSE。将这个属性设置为FALSE,会对磁盘组的rebalance禁用compacting阶段。
_EXTENT_COUNTS
_EXTENT_COUNTS这个属性,与可变区大小有关,它决定了那个区大小将会增加。这个属性的值为"20000 20000 214748367",这意味着前20000个区大小将是1个AU,接下来的20000区大小将由_extent_sizes属性的第二个值决定,并且剩余的区大小将由_extent_sizes的第三个值决定。
_EXTENT_SIZES
这个属性是与可变区大小有关的第二个隐藏参数,并且它决定了区大小的增长,也就是AU的数量。
在ASM 11.1中,属性值为"1 8 64"。在ASM 11.2与以后版本中,属性值为"1 4 16"。
v$asm_attribute视图与ASMCMD lsattr命令
磁盘组属性可以通过v$asm_attribute视图与asmcmd lsattr命令。
下面是显示磁盘组DATADG属性的一种方法:
[grid@jyrac1 ~]$ asmcmd lsattr -G DATADG -l
Name Value
access_control.enabled FALSE
access_control.umask 066
au_size 1048576
cell.smart_scan_capable FALSE
compatible.asm 11.2.0.0.0
compatible.rdbms 11.2.0.0.0
disk_repair_time 3.6h
sector_size 512
磁盘组属性可以通过alter diskgroup set attribute语句,ASMCMD setattr命令与ASMCA来进行修改。下面是使用ASMCMD setattr命令来修改disk_repair_time属性的一个例子:
[grid@jyrac1 ~]$ asmcmd setattr -G DATADG disk_repair_time '4.5 H'
检查新属性:
[grid@jyrac1 ~]$ asmcmd lsattr -G DATADG -l disk_repair_time
Name Value
disk_repair_time 4.5 H
小结:
磁盘组属性,在ASM 11.1中引入,它是优化磁盘组能力的一种很好方式。有些属性是Exadata特定的,有些只能在特定版本中使用。大多数磁盘组属性可以通过v$asm_attribute视图来查看。
查询