ASM 翻译系列第三十四弹:ASM磁盘组重要属性介绍

简介:

ASM Disk Group Attributes

磁盘组的属性是ASM 11.1版本引入的,是磁盘组层面而非ASM实例层面的。磁盘组的属性有一些只能在创建磁盘组时指定,有一些只能在创建之后指定,还有一些可以在任何时候指定。

本篇内容是对本系列文章-【ASM Attributes Directory】的展开。

ACCESS_CONTROL.ENABLED

ACCESS_CONTROL.ENABLED属性指定了一个磁盘组的ASM File Access Control是否启用,参数的值可以设置为true或者false(默认)。

如果这个属性设置为true,ASM文件的访问权限就会受到控制。如果设置为false,任何用户都可以访问磁盘组上的任意文件。该属性只影响文件的访问,不影响其他操作。

这个属性可以用alter disk group语法来修改。

ACCESS_CONTROL.UMASK

ACCESS_CONTROL.UMASK属性与通常os层面的umask类似。用来设置ASM文件的属主,属组和其他用户的权限。这个特性对磁盘组中所有文件生效。

属性的值是3位数的组合,每一位可以是0,2,6数字中的一个。默认情况下为066.

某一位的值设置为0表示不排除任何权限;设置为2,表示排除掉写权限;设置为6表示把读写权限都排除。

在设置该属性之前,要先设置ACCESS_CONTROL.ENABLED为true。

这个属性只能使用alter diskgroup 语法设置。

AU_SIZE

AU_SIZE属性控制了磁盘组au的大小,只能在创建磁盘组时指定。值得一提的是每个磁盘组可以有不同的au_size。

CELL.SMART_SCAN_CAPABLE [Exadata]

在Exadata环境下,使用来自存储节点的磁盘创建的磁盘组可以设置CELL.SMART_SCAN_CAPABLE属性。对于磁盘组中的对象,这个属性可以开启smart scan功能。

COMPATIBLE.ASM

COMPATIBLE.ASM属性指定了可以使用磁盘组的ASM实例的最低软件版本。

这个属性也会影响ASM元数据结构的格式。

当使用create diskgroup语法,asmcmd mkdg命令和EM中的create disk group页面时,COMPATIBLE.ASM默认为10.1。在ASM版本11gR2中,当使用asmca创建磁盘组时,默认为11.2,在版本12.1中,默认为12.1.

COMPATIBLE.RDBMS

COMPATIBLE.RDBMS属性指定了可以使用磁盘组的db实例的最小COMPATIBLE参数值。

在修改该属性的值之后,要确保所有正在访问磁盘组的db实例COMPATIBLE参数大于等于这个值。

COMPATIBLE.ADVM

COMPATIBLE.ADVM属性指定了磁盘组是否可以包含ASM卷,其值要不小于11.2.

要设置该属性,COMPATIBLE.ASM必须在11.2(含)以上,环境中需要加载ADVM卷驱动。默认情况下,该属性的值为空。

CONTENT.CHECK [12c]

CONTENT.CHECK属性的作用是控制磁盘组在rebalance时,是否进行内容校验。该属性的值可以设置为true或者false。

内容校验包括用户数据的HARD(Hardware Assisted Resilient Data)校验,文件目录中文件类型和文件目录信息的校验,以及镜像内容的对比。

该属性设置为true以后,将启用所有rebalance操作的逻辑校验。内容校验也被称为磁盘清理特性。

CONTENT.TYPE [11.2.0.3, Exadata]

CONTENT.TYPE属性将磁盘组指定为几种类型:DATA, RECOVERY或者SYSTEM。它还决定了到最近的partner磁盘或者failgroup的距离。默认值是DATA,同时指定了距离为1;值为RECOVERY则指定了距离为3;值为SYSTEM指定了距离为5.

距离为1的意思是ASM认为所有的磁盘都具有partner关系。

距离为3的意思是每第三个磁盘具有partner关系。距离为5的意思是每第五个磁盘具有partner关系。

该属性可以在创建磁盘组时指定,也可以通过alter diskgroup语法指定。如果用alter diskgroup语法修改 ,新配置将在下一次显式地指定了rebalance之后生效。

该属性只在normal或者high冗余的磁盘组中可用。并且COMPATIBLE.ASM要设置为11.2.0.3及以上才能启用该属性。

DISK_REPAIR_TIME

DISK_REPAIR_TIME的值指定了ASM保持磁盘offline状态的时间,超过这个时间之后,将该盘drop。和fast mirror resync特性一样,COMPATIBLE.ASM属性要设置为11.1或者更高。 该属性只能使用alter diskgroup语法修改。

FAILGROUP_REPAIR_TIME [12c]

FAILGROUP_REPAIR_TIME属性指定了磁盘组中failgroup的修复时间。当ASM判定一整个failgroup发生故障时,这个参数就会启用。默认值为24小时。如果在alter diskgroup offline disk语句中加入drop after子句,指定的repair time会覆盖FAILGROUP_REPAIR_TIME。

这个属性只能通过alter fiskgroup设置,并且只对normal和high冗余的磁盘组可用。

IDP.BOUNDARY and IDP.TYPE [Exadata]

这两个属性用来配置Exadata存储,和Intelligent Data Placement 特性相关。

PHYS_META_REPLICATED [12c]

PHYS_META_REPLICATED属性用来跟踪磁盘组元数据的复制状态。当磁盘组的ASM兼容性设置为12.1或者更高时,每个磁盘的物理元数据会做复制。这些元数据包括此盘头,FST表和AT表。

元数据的复制是在线异步做的。如果磁盘组中每个磁盘的元数据都做了复制,那么该属性的值就会被ASM设置为true.

该属性只有在COMPATIBLE.ASM设置为12.1或者更高的磁盘组中才可以定义。用户无法设置或者修改该属性的值,只是用来提供元数据复制状态的信息,要么为true,要么为false.

SECTOR_SIZE

SECTOR_SIZE属性指定了磁盘组中磁盘的扇区大小,只能在创建磁盘组时指定。

SECTOR_SIZE可以设置为512,4096或者4k(如果磁盘支持这些值)。默认值依平台而定。如果要修改该属性的值,需要把COMPATIBLE.ASM和COMPATIBLE.RDBMS设置为11.2或者更高。

注意:ACFS不支持扇区为4KB的设备。

STORAGE.TYPE

STORAGE.TYPE属性指定了磁盘组中磁盘的类型。属性的值可以是EXADATA,PILLAR,ZFSAS和OTHER。如果设置为 EXADATA|PILLAR|ZFSAS,那么磁盘组中所有的磁盘类型必须和设置的吻合。如果设置为OTHER,那么磁盘组中可以加入任意类型的磁盘。

如果属性值设置为PILLAR或者ZFSAS,那么对于磁盘组中的对象可以启用HCC(Hybrid Columnar Compression)功能。Exadata本身已经支持HCC。

注意:ZFS类型的存储必须是通过dNFS(Direct NFS)提供;Pillar Axion类型的存储必须是通过SCSI或者光纤通道提供。

要设置STORAGE.TYPE属性,COMPATIBLE.ASM和COMPATIBLE.RDBMS属性都要设置为11.2.0.3或者更高。

如果要支持ZFS存储,COMPATIBLE.ASM和COMPATIBLE.RDBMS属性要设置为11.2.0.4或者更高。

STORAGE.TYPE属性可以在创建磁盘组时设置,也可以通过alter diskgroup语法修改。当有客户端连接到磁盘组时,属性是无法修改的。比如说,当磁盘组上有ADVM卷启用时,无法修改该磁盘组的STORAGE.TYPE属性。

在修改该属性之前,无法在V$ASM_ATTRIBUTE视图或者通过ASMCMD lsattr命令看到它。

THIN_PROVISIONED [12c]

THIN_PROVISIONED属性值用来控制在磁盘组reblance结束后,是否丢弃未使用的存储空间。

支持thin provisioning的存储产品可以重用丢弃的存储空间,这样可以有效提升物理存储的利用率。

APPLIANCE.MODE [11.2.0.4, Exadata]

APPLIANCE.MODE属性可以在磁盘组drop一块或多块ASM磁盘时,缩短磁盘rebalance的完成时间。这也就意味着在有(磁盘)故障发生后,数据冗余可以更快的恢复。在Exadata中创建磁盘组可以自动打开该属性。已经创建的磁盘组必须使用ALTER DISKGROUP语法来设置该属性。这个特性也被称为fixed partnering。

只有满足以下条件的磁盘组才能启用该属性:

  • COMPATIBLE.ASM设置为11.2.0.4或者更高

  • CELL.SMART_SCAN_CAPABLE属性设置为true

  • 磁盘组中的磁盘是同一类型,比如都是普通硬盘或者都是闪存盘

  • 磁盘组中的磁盘大小相同

  • 磁盘组中所有failgroup有相同的磁盘数量

  • 磁盘组中没有磁盘是offline状态

  • 最低软件版本要求: Oracle Exadata Storage Server Software release 11.2.3.3; Oracle Database 11g Release 2 (11.2) release 11.2.0.4 注意:在Oracle 12.1.0.1中该特性不可用。

Hidden disk group attributes

不是所有的磁盘组属性都在官方文档中有记录,下面列举一些比较有意思的属性。

_REBALANCE_COMPACT

_REBALANCE_COMPACT属性和rebalance过程中的compact阶段有关。属性值可以为true(默认)或者false。设置为false则可以禁止磁盘组rebalance过程中做compact。

_EXTENT_COUNTS

_EXTENT_COUNTS属性和可变区大小特性有关,它决定了区大小在何时会增加。

属性值设置为“20000 20000 214748367”,意指前20000个区的大小为1个AU,接下来20000个区大小由_EXTENT_SIZES属性的第二个值决定,剩下的区大小由_EXTENT_SIZES属性的第三个值决定。

_EXTENT_SIZES

_EXTENT_SIZES属性也和可变区大小特性有关,指定了区大小的增幅 -- 以AU为单位。

在ASM版本11.1,该属性值为1 8 64,在11.2及更高版本中,属性值为1 4 16。

V$ASM_ATTRIBUTE view and ASMCMD lsattr command

磁盘组的属性可以通过V$ASM_ATTRIBUTE视图或者ASMCMD lsattr命令查看。

下面是查看磁盘组PLAY的属性的一个方法:


$ asmcmd lsattr -G PLAY –l

Posted by Bane Radulovic

Name Value

access_control.enabled FALSE

access_control.umask 066

au_size 4194304

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

$

可以通过SQL的ALTER DISKGROUP SET ATTRIBUTE语法,ASMCMD setattr命令和ASMCA来修改磁盘组属性值。下面是使用ASMCMD setattr修改PLAY磁盘组的DISK_REPAIR_TIME属性值的例子:


$ asmcmd setattr -G PLAY disk_repair_time '4.5 H'

Check the new value:

$ asmcmd lsattr -G PLAY -l disk_repair_time

Name Value

disk_repair_time 4.5 H

$

Conclusion

ASM 11.1推出的磁盘组属性,可以用来优化磁盘组的使用。有些属性值是专门针对Exadata,还有一些只在特定版本可用。(前文都有标注)

大部分属性在官方文档中都有记录,并且可以通过V$ASM_ATTRIBUTE视图查看。有一些没有官方文档记录的属性前面也有所介绍,这些属性值除非有Orcle Support,否则不要修改。

本文来自云栖社区合作伙伴“DBGEEK”

目录
相关文章
|
6月前
|
Oracle 关系型数据库
oracle asm 磁盘显示offline
oracle asm 磁盘显示offline
316 2
创建asm disk 磁盘组出错! ORA-15018 And ORA-15107 (Doc ID 2678808.1)
ORA-15018: diskgroup cannot be created ORA-15107: missing or invalid ASM disk name
132 0
|
17天前
|
存储 Oracle 关系型数据库
数据库数据恢复—Oracle ASM磁盘组故障数据恢复案例
Oracle数据库数据恢复环境&故障: Oracle ASM磁盘组由4块磁盘组成。Oracle ASM磁盘组掉线 ,ASM实例不能mount。 Oracle数据库故障分析&恢复方案: 数据库数据恢复工程师对组成ASM磁盘组的磁盘进行分析。对ASM元数据进行分析发现ASM存储元数据损坏,导致磁盘组无法挂载。
|
3月前
|
SQL Java
访问者模式问题之在ASM中,实现一个访问者来删除指定的类属性,如何解决
访问者模式问题之在ASM中,实现一个访问者来删除指定的类属性,如何解决
|
5月前
|
Java API
使用ASM为一个类增加属性工具类
使用ASM为一个类增加属性工具类
49 0
|
6月前
|
存储 Oracle 关系型数据库
RAC创建ASM磁盘组时配置多路径和UDEV
RAC创建ASM磁盘组时配置多路径和UDEV
1327 6
|
6月前
|
存储 Oracle 关系型数据库
【数据库数据恢复】Oracle数据库ASM磁盘组掉线的数据恢复案例
oracle数据库ASM磁盘组掉线,ASM实例不能挂载。数据库管理员尝试修复数据库,但是没有成功。
【数据库数据恢复】Oracle数据库ASM磁盘组掉线的数据恢复案例
|
6月前
|
文字识别 运维 Oracle
asm 磁盘故障处理日志
asm 磁盘故障处理日志
60 2
RAC 增加4块 asm 磁盘
增加磁盘之前的asm状态
|
Oracle 关系型数据库 测试技术
GoldenGate 对asm磁盘的访问的两种方式:asm实例连接和API(dblogreader)两种方式的对比
GoldenGate在抽取数据的时候要读取online redo里的数据,online redo很多时候是储存在asm磁盘里,对asm磁盘的访问有两种方式
177 0