Close Menu
  • Home
  • Oracle
    • ASM
    • Data Guard
    • RAC
  • Performance
  • Tools
  • Troubleshooting
  • Python
  • Shell Script
Search

Oracle RAC 12.2 on VMware Workstation – Post 3: Grid Infrastructure Installation

2026-04-05 Oracle By Henrique

Oracle RAC 12.2 on VMware Workstation — Post 1: VMware Networking and Openfiler Setup

2026-04-05 Oracle By Henrique

Oracle RAC 12.2 on VMware Workstation – Post 2: Oracle Linux Configuration and iSCSI

2026-04-05 Oracle By Henrique
YouTube LinkedIn RSS
  • About
  • Contact
  • Legal
    • Cookie Policy
    • Disclaimer
    • Privacy Policy
    • Terms of Use
  • RSS
  • English
    • Portuguese (Brazil)
Execute StepExecute Step
YouTube LinkedIn RSS
  • Home
  • Oracle
    • ASM
    • Data Guard
    • RAC
  • Performance
  • Tools
  • Troubleshooting
  • Python
  • Shell Script
Execute StepExecute Step
Home » ORA-15221 — How to Fix “ASM Operation Requires compatible.asm of String or Higher”
ASM

ORA-15221 — How to Fix “ASM Operation Requires compatible.asm of String or Higher”

HenriqueBy Henrique2026-03-21Updated:2026-03-217 Mins Read
Share
Facebook Twitter LinkedIn Pinterest Email Telegram WhatsApp

This post is also available in: Português (Portuguese (Brazil))

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 higher

The 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.asm set to 10.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:

AttributeWhat it controls
compatible.asmMinimum ASM software (Grid Infrastructure) version required to access the disk group
compatible.rdbmsMinimum 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.0

If 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

FeatureMinimum compatible.asm
SPFILE in disk group11.2.0.0.0
ACFS (ASM Cluster File System)11.2.0.0.0
Flex ASM12.1.0.0.0
ASM Filter Driver (ASMFD)12.1.0.0.0
Flex disk groups12.2.0.0.0
Disk group with native 4K sector size12.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 lspatches

3. 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.asm cannot be higher than the installed Grid Infrastructure version. compatible.rdbms cannot 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.rdbms must 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 set compatible.rdbms to 19.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:

  1. Understand that changing compatible.asm is irreversible
  2. Verify all cluster nodes have Grid at the correct version
  3. Verify that compatible.rdbms won’t lock out older databases accessing the disk groups
  4. Have a backup before making changes
  5. 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:

  • Oracle Error Help — ORA-15221
  • Oracle ASM Administrator’s Guide — Disk Group Compatibility
  • MOS Note 1369107.1 — How to Advance ASM Disk Group Compatibility
asm compatible-asm disk-group ora-15221 oracle troubleshooting
Share. Facebook Twitter Pinterest LinkedIn Tumblr Email WhatsApp
Previous ArticleORA-12777 — How to Fix “Non-Continuable Error” with ORACLE_BASE Unset After Copying Oracle Home
Next Article DBMS_SPACE.CREATE_INDEX_COST – How to Estimate Index Size Before Creating It

Related Posts

Oracle

Oracle RAC 12.2 on VMware Workstation – Post 3: Grid Infrastructure Installation

2026-04-05
Read More
Oracle

Oracle RAC 12.2 on VMware Workstation — Post 1: VMware Networking and Openfiler Setup

2026-04-05
Read More
Oracle

ORA-01031 — Insufficient Privileges When Creating an IDENTITY Column

2026-04-03
Read More
Add A Comment
Leave A Reply Cancel Reply

Demo
Follow Me
  • Email
  • GitHub
  • LinkedIn
  • RSS
  • YouTube

INS-06006 – Passwordless SSH Connectivity Not Set Up

2026-02-2614 Views

ORA-29548 — How to Fix “Java System Class Reported” in Oracle Database

2026-03-0510 Views

PRVG-2002 — How to Fix “Encountered Error in Copying File” in Oracle RAC

2026-03-078 Views
Demo
Tags
alter-sequence asm clusterware create sequence datapatch grid-infrastructure Grid Infrastructure how-to identity-column identity column ins-08101 installation inventory iSCSI lab listener opatch opatchauto Openfiler openssh ora-01031 ORA-12547 ora-12777 orabasetab oracle oracle oracle-database oracle-home oracle-linux oracle-rac Oracle Database Oracle Linux Oracle RAC out-of-place passwordless-ssh patching patching prvg-2002 RAC Installation redo-log runcluvfy scp tns troubleshooting VMware
Execute Step
YouTube LinkedIn RSS
  • Home
  • About
  • Contact
  • RSS
  • English
    • Português (Portuguese (Brazil))
© 2026 ExecuteStep. Designed by ThemeSphere.

Type above and press Enter to search. Press Esc to cancel.

Ad Blocker Enabled!
Ad Blocker Enabled!
Our website is made possible by displaying online advertisements to our visitors. Please support us by disabling your Ad Blocker.