This post is also available in:
When trying to perform an operation in Oracle ASM — such as creating an SPFILE in a disk group, enabling ACFS, or using flex ASM — the following error may appear:
SQL> create spfile='+DATA/ASM/spfileASM.ora' from pfile;
ORA-15221: ASM operation requires compatible.asm of 11.2.0.0.0 or higherThe operation is blocked because the disk group’s compatibility attribute is older than the minimum version required by the feature you’re trying to use.
In this article, I’ll explain what ASM compatibility attributes are, why this error appears, how to fix it, and — most importantly — the critical warning you need to know before making any changes.
💡 In practice: I encountered this error while trying to create an SPFILE in an ASM disk group that had
compatible.asmset to10.1.0.0.0, running on Grid Infrastructure 11g. The fix is simple, but irreversible — once you increase the compatibility, there’s no going back.
What Are ASM Compatibility Attributes
Each ASM disk group has two compatibility attributes that control which features are available:
| Attribute | What it controls |
|---|---|
compatible.asm | Minimum ASM software (Grid Infrastructure) version required to access the disk group |
compatible.rdbms | Minimum RDBMS (Database) software version required to access the disk group |
These attributes exist to protect against situations where a disk group is modified with features from a newer version and someone later tries to access it with an older version — which could cause data corruption.
How to check current values
-- Connect to the ASM instance
sqlplus / as sysasm
SELECT group_number, name, compatibility, database_compatibility
FROM v$asm_diskgroup;Example output:
GROUP_NUMBER NAME COMPATIBILITY DATABASE_COMPATIBILITY
------------ --------- ------------- ----------------------
1 DATA 10.1.0.0.0 10.1.0.0.0
2 REDO 10.1.0.0.0 10.1.0.0.0
3 ARCHIVE 10.1.0.0.0 10.1.0.0.0If compatibility is at 10.1.0.0.0 and you attempt an operation that requires 11.2.0.0.0 or higher, ORA-15221 appears.
Why the ORA-15221 Error Occurs
The error occurs when you try to use an ASM feature that requires a higher compatibility version than what’s configured on the disk group.
Features and minimum required versions
| Feature | Minimum compatible.asm |
|---|---|
| SPFILE in disk group | 11.2.0.0.0 |
| ACFS (ASM Cluster File System) | 11.2.0.0.0 |
| Flex ASM | 12.1.0.0.0 |
| ASM Filter Driver (ASMFD) | 12.1.0.0.0 |
| Flex disk groups | 12.2.0.0.0 |
| Disk group with native 4K sector size | 12.2.0.0.0 |
| Extended disk groups (Exadata) | 12.1.0.0.0 |
Common scenarios
- Environment migrated from 10g/11g to 19c — Grid was upgraded, but disk groups kept the old compatibility
- Disk groups created in older versions and never updated
- New DBA takes over a legacy environment and tries to use modern features
Diagnosis
Before making changes, check the complete environment state.
1. Check current compatibility of all disk groups
SELECT group_number, name, type,
compatibility AS asm_compat,
database_compatibility AS rdbms_compat,
state
FROM v$asm_diskgroup
ORDER BY group_number;2. Check Grid Infrastructure (ASM) version
SELECT banner_full FROM v$version WHERE banner_full LIKE '%Grid%';Or from the shell:
$GRID_HOME/bin/crsctl query has releaseversion
# or
$GRID_HOME/OPatch/opatch lspatches3. Check RDBMS version of databases using the disk groups
-- On each database instance that uses the disk groups
SELECT banner_full FROM v$version;Rule:
compatible.asmcannot be higher than the installed Grid Infrastructure version.compatible.rdbmscannot be higher than the oldest RDBMS version accessing the disk group.
Solution
Step 1 — Determine the minimum required version
Identify which operation you want to perform and what compatible.asm it requires (see the table above).
For most modern environments (Grid 19c), setting compatible.asm to 19.0.0.0.0 enables all features. But that’s not always the best choice — see the warning below.
⚠ CRITICAL WARNING: The change is IRREVERSIBLE
Once you increase a disk group’s
compatible.asm, you CANNOT revert to a lower version. This is a no-rollback operation. If you later need to access the disk group with an older Grid version, it won’t be possible.
Before making changes, confirm:
- All cluster nodes have Grid version >= the compatibility you’re about to set
- No downgrade plans are scheduled for Grid Infrastructure
- Current backup is available
- In RAC environments, all nodes must have Grid at the same version or higher
Step 2 — Change the compatibility
For an individual disk group:
ALTER DISKGROUP DATA SET ATTRIBUTE 'compatible.asm' = '19.0.0.0.0';For all disk groups at once (auto-generate the commands):
SELECT 'ALTER DISKGROUP ' || name ||
' SET ATTRIBUTE ''compatible.asm'' = ''19.0.0.0.0'';'
FROM v$asm_diskgroup;Output:
ALTER DISKGROUP DATA SET ATTRIBUTE 'compatible.asm' = '19.0.0.0.0';
ALTER DISKGROUP REDO SET ATTRIBUTE 'compatible.asm' = '19.0.0.0.0';
ALTER DISKGROUP ARCHIVE SET ATTRIBUTE 'compatible.asm' = '19.0.0.0.0';Execute each command individually to monitor progress:
ALTER DISKGROUP DATA SET ATTRIBUTE 'compatible.asm' = '19.0.0.0.0';
-- Diskgroup altered.
ALTER DISKGROUP REDO SET ATTRIBUTE 'compatible.asm' = '19.0.0.0.0';
-- Diskgroup altered.
ALTER DISKGROUP ARCHIVE SET ATTRIBUTE 'compatible.asm' = '19.0.0.0.0';
-- Diskgroup altered.Step 3 — Update compatible.rdbms as well (if needed)
If you also need features that require a higher compatible.rdbms:
SELECT 'ALTER DISKGROUP ' || name ||
' SET ATTRIBUTE ''compatible.rdbms'' = ''19.0.0.0.0'';'
FROM v$asm_diskgroup;Caution:
compatible.rdbmsmust be less than or equal to the oldest database version accessing the disk groups. If you have a 12c database using the same disk group, do not setcompatible.rdbmsto19.0.0.0.0.
Step 4 — Validate
SELECT group_number, name,
compatibility AS asm_compat,
database_compatibility AS rdbms_compat
FROM v$asm_diskgroup
ORDER BY group_number;The versions should reflect the new values.
Step 5 — Execute the original operation
-- Should now work without error
CREATE SPFILE = '+DATA/ASM/spfileASM.ora' FROM PFILE;
-- File created.Quick Checklist
-- 1. Check current compatibility
SELECT name, compatibility, database_compatibility FROM v$asm_diskgroup;
-- 2. Check Grid version
-- (in shell) $GRID_HOME/bin/crsctl query has releaseversion
-- 3. Check oldest RDBMS version accessing the disk groups
SELECT banner_full FROM v$version;
-- 4. Change (IRREVERSIBLE!)
ALTER DISKGROUP <name> SET ATTRIBUTE 'compatible.asm' = '<version>';
-- 5. Validate
SELECT name, compatibility, database_compatibility FROM v$asm_diskgroup;Conclusion
The ORA-15221 error appears when you try to use an ASM feature that requires a higher compatibility version than what’s configured on the disk group. It’s especially common in environments migrated from older versions (10g, 11g) to Grid 19c without updating the compatibility attributes.
The fix is simple — a single ALTER DISKGROUP resolves it. But the critical points are:
- Understand that changing
compatible.asmis irreversible - Verify all cluster nodes have Grid at the correct version
- Verify that
compatible.rdbmswon’t lock out older databases accessing the disk groups - Have a backup before making changes
- Change and validate
When in doubt, set it to the minimum version required for the operation you need — you don’t need to go to the maximum version if you won’t be using the latest features.
References:
