ORA-15041: Diskgroup Space Usage Too High is one of those Oracle ASM alerts that catches DBAs off guard — often appearing late at night or during a large batch job.
When this error shows up, it means your ASM Diskgroup is running out of usable space, and Oracle is preventing further writes to maintain data integrity.
Let’s go step by step through what it means, how to fix it quickly, and how to prevent it from happening again.
What Is ORA-15041?
When Oracle ASM detects that a diskgroup has exceeded the high space threshold, it raises this error:
ORA-15041: diskgroup space usage too high [string]
This typically occurs when:
- You’re adding or resizing datafiles.
- A process like RMAN backup, Data Guard, or redo archival fills the ASM disks.
- The diskgroup reaches the space limit set by the
DISKGROUP_USAGE_HIGHthreshold (default: 85%).
Oracle automatically stops writes to the diskgroup to avoid corruption.
Why This Error Happens
Common causes include:
- Diskgroup is full – Too many datafiles, temp files, or archives stored.
- Old archive logs not deleted – Especially in environments using FRA (Fast Recovery Area).
- Autoextend datafiles – Datafiles keep expanding until ASM runs out of space.
- No rebalancing after disk removal or addition – ASM isn’t evenly distributing data.
- Incorrect space thresholds – Custom thresholds too low or unadjusted for growth.
🔍 Step-by-Step Troubleshooting Guide
Let’s walk through how to analyze and resolve the issue safely.
Step 1: Identify the Affected Diskgroup
Run this query in SQL*Plus or ASMcmd:
SELECT name, total_mb, free_mb, (free_mb/total_mb*100) AS pct_free
FROM v$asm_diskgroup;
Example output:
NAME TOTAL_MB FREE_MB PCT_FREE
----------- --------- -------- --------
DATA_DG 1024000 51200 5.0
ARCH_DG 256000 12800 5.0
If PCT_FREE is below 10%, you’re in the danger zone.
Step 2: Check for Old Archive Logs
If you’re using FRA or storing archive logs in ASM, list them:
SELECT SPACE_LIMIT/1024/1024 AS MB_LIMIT,
SPACE_USED/1024/1024 AS MB_USED,
SPACE_RECLAIMABLE/1024/1024 AS MB_RECLAIMABLE
FROM v$recovery_file_dest;
Then delete old archive logs safely with RMAN:
DELETE NOPROMPT ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-2';
💡 Always verify backups before deletion.
Step 3: Check Datafile Growth and Autoextend Settings
Run this:
SELECT file_id, file_name, autoextensible, bytes/1024/1024 AS size_mb
FROM dba_data_files
ORDER BY size_mb DESC;
If many files are autoextensible = YES, they can silently consume space.
✅ Fix:
ALTER DATABASE DATAFILE '/u01/app/oradata/ORCL/users01.dbf' AUTOEXTEND OFF;
Or move large segments to another tablespace.
Step 4: Reclaim or Add ASM Storage
If possible, add a new disk to the group:
ALTER DISKGROUP DATA_DG ADD DISK '/dev/oradata3';
Or drop unnecessary files:
ALTER DISKGROUP DATA_DG DROP FILE '+DATA_DG/OLD_BACKUP.256.113246781';
To rebalance data across disks:
ALTER DISKGROUP DATA_DG REBALANCE POWER 5;
Step 5: Adjust ASM Diskgroup Thresholds
You can tune the high usage alert level:
ALTER SYSTEM SET "_asm_diskgroup_high_threshold" = 90;
ALTER SYSTEM SET "_asm_diskgroup_critical_threshold" = 97;
(Use with care — don’t disable safety too much.)
Step 6: Verify Changes and Alert Clearance
After cleanup or rebalance, check again:
SELECT name, total_mb, free_mb, (free_mb/total_mb*100) AS pct_free
FROM v$asm_diskgroup;
Alert log should now stop showing ORA-15041 entries.
Real-World Example
A client running Oracle 19c with Data Guard started receiving constant ORA-15041 alerts during nightly batch processing.
Investigation showed that their ARCH_DG diskgroup (used for archive logs) was 99% full because RMAN cleanup failed over a weekend.
Fix:
DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-3';
ALTER DISKGROUP ARCH_DG REBALANCE POWER 10;
Within 10 minutes, ASM rebalanced, and space dropped from 99% → 75%.
No downtime, no corruption — just careful housekeeping.
Proactive Prevention Tips
Automate Archive Log Deletion
CONFIGURE ARCHIVELOG DELETION POLICY TO APPLIED ON STANDBY;
Monitor ASM Space Daily
Use:
SELECT name, free_mb FROM v$asm_diskgroup;
Set Alerts in OEM or Datadog
Notify when space usage > 80%.
Use Separate Diskgroups for Data and FRA
Prevent archive growth from impacting data operations.
Regularly Rebalance ASM
Ensures even space usage after disk changes.
Related Articles
- ORA-00257: Archiver Error – Connect Internal Only Until Freed
- ORA-01114 / ORA-01110: Cannot Add Datafile or Write to File
- Troubleshooting Database Performance After Patching or Upgrade
Final Thoughts
The ORA-15041: Diskgroup Space Usage Too High alert is not a failure — it’s Oracle protecting your data.
The best DBAs don’t just react — they monitor ASM usage, automate cleanup, and plan capacity to prevent space exhaustion before it happens.
Keep your ASM diskgroups clean, rebalanced, and monitored — and this error will never interrupt your sleep again.




