When an instance of a database which
uses ASM storage starts up, it needs to negotiate the
minimum compatibility of the ASM disk groups with the
corresponding ASM instance. This minimum compatibility of
ASM disk groups is determined by disk group attributes
as well as by the value of the COMPATIBLE parameter of
both instances.
The two most important of these
attributes of an ASM disk group are compatible.asm
and compatible.rdbms. Both of them can be specified
at creation of the ASM disk group.
SYS
AS SYSDBA @ +ASM SQL> CREATE DISK GROUP data_new3
2 DISK '/dev/raw/raw1', '/dev/raw/raw2' ATTRIBUTE 'compatible.asm'='11.1',
'compatible.rdbms'='11.1';
They can also be changed both later on
with an Alter Diskgroup statement:
SYS
AS SYSDBA @ +ASM SQL> ALTER DISK GROUP fra SET ATTRIBUTE 'compatible.rdbms'='11.1';
%
By omitting these parameters, a disk group is created with
both compatible attributes set to 10.1.
This means that there is no profit from the 11g New
Features for ASM!
%
It is only possible to advance these attribute settings
dynamically. There is no way back.
An attempt to downgrade them results in an error:
SYS AS SYSDBA @ +ASM SQL>
alter disk group fra set attribute 'compatible.rdbms'='10.1';
alter disk group fra set
attribute 'compatible.rdbms'='10.1'
*
ERROR at line 1:
ORA-15032: not all alterations performed
ORA-15242: could not set attribute compatible.rdbms
ORA-15244: new compatibility setting less than current
[11.1.0.0.0]
SYS AS SYSDBA @ +ASM SQL>
alter disk group fra set attribute 'compatible.asm'='10.1';alter
disk group fra set attribute 'compatible.asm'='10.1'
*
ERROR at line 1:
ORA-15032: not all alterations performed
ORA-15242: could not set attribute compatible.asm
ORA-15244: new compatibility setting less than current
[11.1.0.0.0]
This is what the oerr interface
for Linux returns as an explanation for the error:
[oracle@rhas4 ~]$ oerr ora 15244
15244, 00000, "new compatibility setting less than
current [%s]"
// *Cause: The compatibility setting was invalid. The
compatibility
//
setting can only be advanced.
// *Action: Check the version number.
//
The dynamic performance view
v$asm_attribute shows the attributes of ASM disk groups:
SYS
AS SYSDBA @ +ASM SQL> SELECT name, value,
group_number FROM v$asm_attribute;
NAME
VALUE
GROUP_NUMBER
-------------------- -------------------- ------------
disk_repair_time 3.6h
1
au_size
1048576
1
compatible.asm
11.1.0.0.0
1
compatible.rdbms 10.1.0.0.0
1
disk_repair_time 3.6h
2
au_size
1048576
2
compatible.asm
11.1.0.0.0
2
compatible.rdbms 10.1.0.0.0
2
There are two ASM disk groups and, as
can be seen from the results of the query, there are more
disk attributes. These will be covered in more depth a
little bit later in this chapter.
The attributes compatible.asm and
compatible.rdbms apply to both ASM and database
instances. They determine which features can be used by a
disk group and which ASM clients (database instances) can
use the disk group.
% Since the
attributes of different disk groups are independent from
each other, it is possible to maintain
heterogeneous environments with disk groups of different
compatibility attributes managed by one ASM
instance.
They are furthermore determined by the
initialization parameter COMPATIBLE.
The dependency is as follows:
compatible.rdbms limits the
minimum compatibility of a database instance that can mount
the ASM disk group. It determines the format of messages
sent between the ASM instance and the DB instance which is a
client for ASM. An ASM instance can manage disk groups of
different compatibility attributes and its COMPATIBLE
parameter must be at least the version of the highest
compatible.asm attribute of any disk group it manages.
A DB instance must have its COMPATIBLE
parameter set to at least the highest value of
compatible.rdbms of all the disk groups which its
database uses. A DB instance communicates at first startup
time with the ASM instance at about the highest version of
compatibility which both of them can support.
The compatibility information about the
databases can be seen and their instances which use the ASM
storage in v$asm_client both on the database side and
on the ASM side. The code listing below shows the view from
an 11g ASM instance serving both 10g and 11g clients:
SYS
AS SYSDBA @ +ASM SQL> select * from v$asm_client;
GROUP_NUMBER INSTANCE_N
DB_NAME STATUS
SOFTWARE_VERSION COMPATIBLE_VERSION
------------ ---------- -------- ---------- ----------------
--------------
1 asm11
asm11 CONNECTED
11.1.0.5.0 11.1.0.0.0
1 asm10gR2
asm10gR2 CONNECTED 10.2.0.1.0
10.2.0.1.0
The next listing shows the view from a
10g DB instance using an 11g ASM instance:
SYS
AS SYSDBA @ asm10gR2 SQL> SELECT * FROM v$asm_client;
GROUP_NUMBER INSTANCE_N
DB_NAME STATUS SOFTWARE_VERSION
COMPATIBLE_VERSION
------------ ---------- -------- -------- ------------------
------------------
1 +ASM asm10gR2
CONNECTED 11.1.0.5.0
11.0.0.0.0
compatible.asm only determines
the format of the persistent metadata which describe an ASM
disk group. It must at least have the same value as the
compatible.rdbms attribute of the disk group. It does
not influence the format of files in the disk group. This is
managed by the database itself.
% It is only
necessary to advance the compatible attribute of an ASM
disk group if 11g New Features is to be used
for an ASM disk group.
These features include variable extent
sizes, fast mirror resyncing and the capability to take a
disk group offline?online as well as others which will be
looked at shortly in this chapter. As has already been seen
earlier, there are a few more attributes for ASM disk
groups. Here they are, one by one:
1.
au_size: With this attribute, it is possible
to influence
the performance of ASM disk management. It is an
automatic feature and does not need any manual adjusting.
For more information, look at the Performance Enhancements
section of this chapter
2.
disk_repair_time: specifies the amount of time
before an ASM disk is dropped automatically from the disk
group after offlining it. This attribute comes into play
with FAST MIRROR RESYNC. For more information on this
feature, refer to the respective section in this chapter.
3.
template.<template_name>.redundancy:
redundancy level of template (HIGH?MIRROR?UNPROTECTED)
4.
template.<template_name>.stripe: striping unit
size of template (COARSE?FINE)
% If creating a
10g database is attempted with dbca and trying to use
ASM disk groups with the attribute
compatible.rdbms=11.1, an error is encountered.
Figure 2: Error with Creating 10g Database