在平常的工作中我们常常忽视了对ASM实例的管理、维护和特性的了解,这篇文章是根据参考文章的指导来做的相关测试与练习,熟悉这些特性和功能能够帮助我们日常更好的完成ASM方面的工作。
一.测试环境。
[grid@rhel2 ~]$ cat /etc/issue
Red Hat Enterprise Linux Server release 5.5 (Tikanga)
Kernel \r on an \m
[grid@rhel2 ~]$ uname -a
Linux rhel2.localdomain 2.6.18-194.el5 #1 SMP Tue Mar 16 21:52:39 EDT 2010 x86_64 x86_64 x86_64 GNU/Linux
[root@rhel2 bin]# ./crsctl query crs softwareversion
Oracle Clusterware version on node [rhel2] is [11.2.0.2.0]
二.磁盘组兼容性属性。
1.设置磁盘组兼容性属性:
SQL> CREATE DISKGROUP data EXTERNAL REDUNDANCY DISK '/dev/raw/raw8'
2 ATTRIBUTE 'compatible.rdbms' = '10.1', 'compatible.asm' = '11.2', 'compatible.advm' ='11.2';
Diskgroup created.
要想使用11gR2的新功能ASM卷和文件系统,必须设置磁盘组的compatible.advm属性为11.2(由于ADVM是11gR2的新功能,所以compatible.advm只能设置为11.2),对应的compatible.asm属性也必须设置为11.2,否者将收到如下报错:
SQL> CREATE DISKGROUP data DISK '/dev/raw/raw8'
2 ATTRIBUTE 'compatible.rdbms' = '10.1', 'compatible.asm' = '11.1', 'compatible.advm' ='11.2';
CREATE DISKGROUP data DISK '/dev/raw/raw8'
*
ERROR at line 1:
ORA-15018: diskgroup cannot be created
ORA-15493: target ADVM compatibility (11.2.0.0.0) exceeds ASM compatibility (11.1.0.0.0)
compatible.advm只能设置为11.2:
SQL> CREATE DISKGROUP data EXTERNAL REDUNDANCY DISK '/dev/raw/raw8'
2 ATTRIBUTE 'compatible.rdbms' = '10.1','compatible.advm' ='11.1';
CREATE DISKGROUP data EXTERNAL REDUNDANCY DISK '/dev/raw/raw8'
*
ERROR at line 1:
ORA-15018: diskgroup cannot be created
ORA-15238: 11.1 is not a valid value for attribute compatible.advm
ORA-15494: compatible.advm must be 11.2.0.0.0 or higher
下面是对COMPATIBLE.ASM和COMPATIBLE.RDBMS含义的解释:
COMPATIBLE.ASM - The minimum version of the ASM software that can access the disk group. In 11g, the default setting is 10.1.
COMPATIBLE.RDBMS - The minimum COMPATIBLE database initialization parameter setting for any database instance that uses the disk group. In 11g, the default setting is 10.1.
使用ASMCA工具创建的磁盘组,compatible.asm默认值为11.2.0.0.0,compatible.rdbms默认值为10.1.0.0.0,compatible.advm为空。
2.修改磁盘组兼容性属性:
SQL> ALTER DISKGROUP data SET ATTRIBUTE 'compatible.rdbms' = '11.1';
Diskgroup altered.
磁盘组的属性只能增大,不能减小,如果增大过程出现错误,那么只能通过重建磁盘组来调整兼容性属性值。
3.查看磁盘组当前兼容性属性:
SQL> set linesize 200
SQL> col name format a10
SQL> col compatibility format a30
SQL> col DATABASE_COMPATIBILITY format a30
SQL> select group_number,name,compatibility,database_compatibility from v$asm_diskgroup where;
GROUP_NUMBER NAME COMPATIBILITY DATABASE_COMPATIBILITY
------------ ---------- ------------------------------ ------------------------------
2 DATA 11.2.0.0.0 11.1.0.0.0
SQL> col name format a30
SQL> col value format a30
SQL> select name,value from v$asm_attribute where group_number=2 and name like 'compatible.%';
NAME VALUE
------------------------------ ------------------------------
compatible.asm 11.2.0.0.0
compatible.rdbms 11.1
compatible.advm 11.2.0.0.0
三.快速镜像重新同步功能。
在一个故障组短暂的磁盘失败期间,ASM记录改变区间的轨迹,以便在磁盘恢复正常后能够快速的同步改变的区间,而不是将整个磁盘的数据重新覆盖一遍,这能够大幅度的提高数据重新同步的过程。
该功能要求磁盘组的兼容性属性必须设置为11.1或者更高。
另外,该功能只对Normal和High冗余级别的磁盘组有用,因为External冗余级别的磁盘脱机会导致写失败。
SQL> CREATE DISKGROUP DATA NORMAL REDUNDANCY
2 FAILGROUP A
3 disk '/dev/raw/raw8' name data01
4 FAILGROUP B
5 disk '/dev/raw/raw9' name data02
6 ATTRIBUTE
7 'compatible.rdbms'='11.2',
8 'compatible.asm'='11.2',
9 'compatible.advm'='11.2';
Diskgroup created.