Some of the Oracle 11g features require you to set compatibility parameters associated with ASM disk groups. There are two different compatibility attributes that can be set via the ALTER DISKGROUP command. The first is the Oracle disk group compatibility attribute. The Oracle disk group compatible.asm attribute setting defines the format of the data on the ASM disks, and should always be equal to or greater than the Oracle database compatibility parameter. The compatible.asm attribute must always be set to a value that is equal to or greater than the compatible.rdbms attribute. Once the compatible.asm attribute is set, it cannot be rolled back.

You set the Oracle disk group compatibility setting via the ALTER DISKGROUP command setting the compatible.asm attribute as seen in this example:

ALTER DISKGROUP DG1 SET ATTRIBUTE 'compatible.asm'='11.1.0';

You can also set this parameter when using the CREATE DISKGROUP command as seen here:

CREATE DISKGROUP dgroup4 EXTERNAL REDUNDANCY
DISK '/oracle/asmdata/asm_dgroup1_04.asm'
ATTRIBUTE 'compatible.asm' = '11.1';

The compatible.rdbms attribute is the second attribute known as the Oracle database compatibility attribute. The compatible.rdbms attribute defines the minimum version of an Oracle database that can mount a specific disk group. The compatible.rdbms attribute should be set to a value that is equivalent to the lowest compatibility setting of any Oracle database that will be mounting that disk group. Once the compatible.rdbms attribute is set, it cannot be rolled back. This is because ASM will be writing to the disk and communicating with the database in a version specific format. Oracle does allow you to roll the setting forward.

Each disk group can have its own compatibility settings within an ASM instance, and this allows databases created with different versions of the Oracle database software the ability to connect to the same ASM group. Here is an example of setting the database compatibility attribute:

ALTER DISKGROUP DG10 SET ATTRIBUTE 'compatible.rdbms'='11.1.0';

Each of these attributes influences each other and there is a direct relationship between the disk_repair_time attribute and the compatible.asm attribute. If you accept the default compatible.asm setting and try to set the disk_repair_time attribute, you will get this error:

ORA-15032: not all alterations performed
ORA-15242: could not set attribute DISK_REPAIR_TIME
ORA-15283: ASM operation requires compatible.rdbms of 11.1.0.0.0 or higher

The previous error messages indicate that the compatible.asm attribute needs to be set correctly. Set the compatible.asm attribute from the default of 11.0.0 to 11.1.0 as seen in the following example, and all will be well:

ALTER DISKGROUP DG1 SET ATTRIBUTE 'compatible.asm'='11.1.0';

This demonstrates that the compatible parameters not only control which databases can connect to your ASM disk groups; it also controls the features available in ASM. You can see the compatibility settings for disk groups using the V$ASM_ATTRIBUTE view in the ASM instance.

Another example of the interaction of the compatible.asm and compatible.rdbms attributes would be a case where compatible.rdbms is set to a value of 10.1, and compatible.asm to a value of 11.1. This will restrict the ASM disk group management to versions of Oracle greater than 11.1, but the individual disk groups can manage Oracle database instances with compatible set to 10.1 or greater.