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

PRVG-1901, PRVH-0185, PRVH-0516 — Fleet Maintenance Fails with /tmp noexec

2026-04-20 Oracle By Henrique

ORA-29548 — Java System Class Reported: Dictionary Version Mismatch

2026-04-20 Oracle By Henrique

ORA-15221 — ASM operation requires compatible.asm of string or higher

2026-04-18 ASM 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
    • OEM
    • RAC
  • Performance
  • Tools
  • Troubleshooting
  • Python
  • Shell Script
Execute StepExecute Step
Home » ORA-15221 — ASM operation requires compatible.asm of string or higher
ASM Oracle

ORA-15221 — ASM operation requires compatible.asm of string or higher

HenriqueBy Henrique2026-04-184 Mins Read
Share
Facebook Twitter LinkedIn Pinterest Email Telegram WhatsApp

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

When trying to create an SPFILE directly inside an ASM diskgroup, the instance returned:

ORA-15221: ASM operation requires compatible.asm of 11.2.0.0.0 or higher

The message is clear: the requested operation requires a minimum value for the compatible.asm attribute on the diskgroup, and the current value is too low.


Why this happens

ASM tracks two compatibility attributes per diskgroup:

  • compatible.asm — defines the minimum ASM software version allowed to access the diskgroup.
  • compatible.rdbms — defines the minimum COMPATIBLE initialization parameter value for any database instance using the diskgroup.

These attributes are written into the diskgroup metadata at creation time. Diskgroups originally created on 10g environments default to 10.1.0.0.0 for both attributes. When Grid Infrastructure is upgraded to 11.2 or later, certain operations — such as storing the ASM SPFILE inside a diskgroup — start requiring compatible.asm >= 11.2.0.0.0. The storage metadata simply did not follow the software upgrade automatically.

💡 ORA-15221 can also surface in other contexts: rebalance operations using newer features, ACFS volume creation, or during a Grid Infrastructure upgrade process.


⚠️ Before running any command

This change is irreversible.

Oracle’s documentation is explicit: once compatible.asm is advanced, there is no supported way to roll it back. To revert to a lower value, you would need to drop and recreate the diskgroup from scratch, then restore all data. Only advance to the version you actually need — and ideally, align it with your Grid Infrastructure release.

⚠️ Never alter compatible.asm while any disk in the diskgroup is offline. The command will fail with ORA-15232 and may leave the diskgroup in an inconsistent state.


Diagnosis

Check the current compatibility values for all diskgroups:

SELECT name,
       compatibility          AS compatible_asm,
       database_compatibility AS compatible_rdbms
FROM   v$asm_diskgroup
ORDER BY name;

Typical output on an environment with legacy diskgroups:

NAME      COMPATIBLE_ASM  COMPATIBLE_RDBMS
--------- --------------- ----------------
ARCHIVE   10.1.0.0.0      10.1.0.0.0
DATA      10.1.0.0.0      10.1.0.0.0
REDO01    10.1.0.0.0      10.1.0.0.0

Check your ASM version before deciding on a target value:

SELECT version FROM v$instance;

💡 Oracle recommends setting compatible.asm to match your Grid Infrastructure release. On a 19c environment, the recommended value is 19.0.0.0.0. Note that compatible.asm must always be greater than or equal to compatible.rdbms.


Fix

Alter a single diskgroup

ALTER DISKGROUP DATA SET ATTRIBUTE 'compatible.asm' = '11.2.0.0.0';

Generate the command for all diskgroups at once

SELECT 'ALTER DISKGROUP ' || name ||
       ' SET ATTRIBUTE ''compatible.asm''=''11.2.0.0.0'';'
FROM   v$asm_diskgroup;

Run each generated statement on the +ASM instance:

ALTER DISKGROUP ARCHIVE SET ATTRIBUTE 'compatible.asm'='11.2.0.0.0';
ALTER DISKGROUP DATA    SET ATTRIBUTE 'compatible.asm'='11.2.0.0.0';
ALTER DISKGROUP REDO01  SET ATTRIBUTE 'compatible.asm'='11.2.0.0.0';
ALTER DISKGROUP REDO02  SET ATTRIBUTE 'compatible.asm'='11.2.0.0.0';
ALTER DISKGROUP REDO03  SET ATTRIBUTE 'compatible.asm'='11.2.0.0.0';
ALTER DISKGROUP REDO04  SET ATTRIBUTE 'compatible.asm'='11.2.0.0.0';

Post-change validation

Confirm the new values are in place:

SELECT g.name,
       a.name  AS attribute,
       a.value
FROM   v$asm_diskgroup g
JOIN   v$asm_attribute a ON g.group_number = a.group_number
WHERE  a.name LIKE '%compat%'
ORDER BY g.name, a.name;

Expected output:

NAME    ATTRIBUTE         VALUE
------- ----------------- -----------
DATA    compatible.asm    11.2.0.0.0
DATA    compatible.rdbms  10.1.0.0.0
...

With the attribute updated, the SPFILE creation will succeed:

CREATE SPFILE='+DATA/ASM/spfileASM.ora' FROM PFILE;

Quick reference

-- 1. Check current values
SELECT name, compatibility, database_compatibility FROM v$asm_diskgroup;

-- 2. Check ASM version
SELECT version FROM v$instance;

-- 3. Confirm all disks are online
SELECT dg.name, d.name, d.state
FROM v$asm_diskgroup dg JOIN v$asm_disk d ON dg.group_number = d.group_number
WHERE d.state != 'NORMAL';

-- 4. Alter (IRREVERSIBLE)
ALTER DISKGROUP <name> SET ATTRIBUTE 'compatible.asm'='<version>';

-- 5. Validate
SELECT g.name, a.name, a.value
FROM v$asm_diskgroup g JOIN v$asm_attribute a ON g.group_number = a.group_number
WHERE a.name LIKE '%compat%';

References

  • Oracle Database 19c — Disk Group Compatibility
  • Recommended Tasks After Upgrading Oracle ASM

asm compatible.asm ora-15221 oracle
Share. Facebook Twitter Pinterest LinkedIn Tumblr Email WhatsApp
Previous ArticleOracle home is already provisioned for the target – Fleet Maintenance
Next Article ORA-29548 — Java System Class Reported: Dictionary Version Mismatch

Related Posts

Oracle

PRVG-1901, PRVH-0185, PRVH-0516 — Fleet Maintenance Fails with /tmp noexec

2026-04-20
Read More
Oracle

ORA-29548 — Java System Class Reported: Dictionary Version Mismatch

2026-04-20
Read More
Oracle

Oracle home is already provisioned for the target – Fleet Maintenance

2026-04-16
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
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.