可能通过CREATE DISKGROUP or ALTER DISKGROUP两个语句设置磁盘组的兼容属性。
使用 CREATE DISKGROUP建立磁盘组时指定兼容属性
以下例子建立一个正常冗余盘磁盘组asmdskgrp1,ASM 兼容属性设置成10.2 ,与数据库兼容性属性取默认值(假定COMPATIBLE.RDBMS 缺省小于或等于10.2):
CREATE DISKGROUP asmdskgrp1 DISK '/dev/raw/*' SET ATTRIBUTE 'compatible.asm' = '10.2';
以下例子建立一个正常冗余盘磁盘组asmdskgrp2,ASM 兼容属性设置成11.1 ,与数据库兼容属性取默认值(假定COMPATIBLE.RDBMS 缺省小于或等于11.1):
CREATE DISKGROUP asmdskgrp2 DISK '/dev/raw/*' SET ATTRIBUTE 'compatible.asm' = '11.2';
以下例子建立一个正常冗余盘磁盘组asmdskgrp3,ASM 兼容属性及与数据库兼容属性都取11.1:
CREATE DISKGROUP asmdskgrp3 DISK '/dev/raw/*'
SET ATTRIBUTE 'compatible.rdbms' = '11.1', 'compatible.asm' = '11.1';
使用ALTER DISKGROUP SQL语句为现有的磁盘组改变兼容属性
在磁盘组被创造了之后, 您能使用ALTER DISKGROUP SQL语句改变兼容属性。使用ALTER DISKGROUP SQL语句在提交变动之前,需确保Oracle能提升指定盘组的兼容性。为使进行ALTER DISKGROUP提升盘组兼容性而不减少数据库和文件系统功能,所有影响的数据库和文件系统都应当是在线的。
举例:
ALTER DISKGROUP asmdskgrp4 SET ATTRIBUTE 'compatible.rdbms' = '11.1';
ALTER DISKGROUP asmdskgrp5 SET ATTRIBUTE 'compatible.asm' = '11.1';
第 11 页 共 51 页
1.2.7. ASM 优先镜像读取
? 优先镜像读取新特征概要
在扩展集群中,如果远程结点的访问是不均衡的,这一新特征对于提升性能是很有用的。这导致更好的存储利用率,降低网络负载。Oracle 10g中,ASM总读一个镜像区集的主要拷贝,我们知道这样做的目的是为了分散IO,提升性能。而对于一个磁盘组的一块盘,对于某一个结点来说可能是本地盘,也可能是远程盘,如果从主拷贝读取数据,这个主拷贝又是远程盘,显然没有本地盘效率高。不过在Oracle10g中是不能完成设定从哪块盘读取数据的,在11g中引入了ASM_PREFERRED_READ_FAILURE_GROUPS这个参数,即我们所谈的ASM优先镜像读取新特征,可以完成这样的功能,如下再详细说一下这个新特征。
当您配置ASM失败组,它使结点从最靠近它的区读取数据,这也许是最高效的,既使那个区是一个次要的区。换句话说,当次要区离结点较近时,你可以配置ASM 读从一个次要区读,而不是从较远的主区读。使用优先读取失败组对于扩展群集来说是非常有用的。
使用这个特征, 在扩展的集群相对这个结点的本地盘,Oracle推荐配置至少一个镜像的区拷贝。然而在一个RAC数据库中,为一个结点被设定优先读取的失败组对另外的一个结点而言也许就是选程的,这倒不用担心,每个实例优先读取失败组的参数设置是可以分别指定的。
注意:
默认情况下, 当您创造一个磁盘组, 磁盘组的每块盘属于一个失败组。Oracle不推荐你为使用磁盘组的每一个实例配置超过一个优先读取失败组。如果你为每一个实例配置超过一个优先读取失败组, Oracle alter日志会写入警告信息。
? 配置和管理优先读取失败组
第 12 页 共 51 页
要配置这个新特征,需要设定ASM_PREFERRED_READ_FAILURE_GROUPS这个参数,参数为失败组的一个列表,这个参数通常是在集群的ASM实例中被使用的,也是在集群的ASM实例中 有效的,并且每个实例设定不同的值,其默认值为NULL。参数的格式如下:
举例:
diskgroup_name1.failure_group_name1, ...
其中diskgroup_name表示的是磁盘组的名字,failure_group_name表示的是失败组的名字。如果设定参数指定的磁盘组中并不存在相应的失败组,ASM将忽略相应的失败组。你可以以逗号分隔为
ASM_PREFERRED_READ_FAILURE_GROUPS参数设定多个值。
举例:
ASM_PREFERRED_READ_FAILURE_GROUPS= = diskgroup_name.failure_group_name,diskgroup_name1.failure_group_name1...
1.2.8. ASM 快速的再平衡
重新平衡操作发生在当磁盘组是在限制模式下,它消也除了Oracle RAC 环境里锁和解锁extent map信息在ASM 事例之间的传讯,因此提升了总体重新平衡的吞吐量。
2. 准备工作
2.1. 下载并安装ASM支持包
oracleasm-support、oracleasm、oracleasmlib
http://www.oracle.com/technology/software/tech/linux/asmlib/rhel4.html 按顺序安装这三个包
第 13 页 共 51 页
2.2. 准备四个磁盘并分区
四个磁盘大小均为1G,分别为sdb1,sdc1,sdd1,sde1 [root@oracle srv]# fdisk /dev/sdb
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel Building a new DOS disklabel. Changes will remain in memory only, until you decide to write them. After that, of course, the previous content won't be recoverable.
Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)
Command (m for help): n Command action e extended
p primary partition (1-4) p
Partition number (1-4): 1
First cylinder (1-130, default 1): Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-130, default 130): Using default value 130
第 14 页 共 51 页
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table. Syncing disks.
[root@oracle srv]# fdisk /dev/sdc
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel Building a new DOS disklabel. Changes will remain in memory only, until you decide to write them. After that, of course, the previous content won't be recoverable.
Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)
Command (m for help): n Command action e extended
p primary partition (1-4) p
Partition number (1-4): 1
First cylinder (1-130, default 1): Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-130, default 130): Using default value 130
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table. Syncing disks.
[root@oracle srv]# fdisk /dev/sdd
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel Building a new DOS disklabel. Changes will remain in memory only, until you decide to write them. After that, of course, the previous content won't be recoverable.
Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)
Command (m for help): n Command action e extended
p primary partition (1-4) p
Partition number (1-4): 1
First cylinder (1-130, default 1):
第 15 页 共 51 页