ORA-15041: Diskgroup “DATA” Space Exhausted — How to Diagnose & Fix the Issue
When working in Oracle RAC/ASM environments, one of the common storage-related issues is ORA-15041: diskgroup space exhausted.
This error typically appears when adding datafiles/tempfiles or when Oracle internally tries to allocate space.
In this example, the issue occurs while adding a TEMPFILE.
ERROR
SQL> ALTER TABLESPACE TEMP ADD TEMPFILE size 4096M;
ALTER TABLESPACE TEMP ADD TEMPFILE size 4096M
*
ERROR at line 1:
ORA-01119: error in creating database file ‘+DATA’
ORA-17502: ksfdcre:4 Failed to create file +DATA
ORA-15041: diskgroup “DATA” space exhausted
This clearly indicates that the +DATA ASM diskgroup is full.
Step 1 — Initial Cleanup (Optional Scenario)
In some environments, the audit trail may also fail due to SYSTEM tablespace being full.
Example:
ORA-02002: error while writing to audit trail
ORA-01653: unable to extend table SYS.AUD$ by 8192 in tablespace SYSTEM
A quick temporary workaround:
[oracle@dba ~]$ sqlplus sys/***@QA as sysdba
SQL> truncate table AUD$;
Table truncated.
SQL> commit;
Commit complete.
This may free some space in SYSTEM, but it does NOT solve the ASM diskgroup space issue. Proceed to proper diagnostics.
Step 2 — Diagnose ASM Diskgroup Space
First, check the overall ASM diskgroup capacity:
SQL> select group_number, name, total_mb, free_mb from v$ASM_DISKGROUP;
GROUP_NUMBER NAME TOTAL_MB FREE_MB
———— ———– ———- ———-
1 DATA 409600 800
2 RECO 256000 204800
The DATA diskgroup has only 800 MB free, which is insufficient for a 4 GB tempfile.
Step 3 — Check TEMP Usage
SQL> select TABLESPACE_NAME, BYTES_USED/1024/1024, BYTES_FREE/1024/1024 from V$TEMP_SPACE_HEADER;
TABLESPACE_NAME BYTES_USED_MB BYTES_FREE_MB
————— ————– ————–
TEMP 33 0
Free space in TEMP is zero—hence the need to add a tempfile.
Step 4 — Check Individual Disks in ASM
SQL> select name, total_mb, free_mb, state from v$asm_disk;
NAME TOTAL_MB FREE_MB STATE
———– ——— ——– ——–
RECODISK1 65536 49028 NORMAL
RECODISK2 65536 49028 NORMAL
RECODISK3 65536 49044 NORMAL
DATA_0003 102400 152 NORMAL
DATA_0000 102400 140 NORMAL
DATA_0001 102400 172 NORMAL
DATA_0002 102400 136 NORMAL
RECODISK4 102400 49020 NORMAL
All DATA disks show very low free space (around 130–170 MB each), confirming the diskgroup is fully consumed.
Step 5 — Validate DATA Diskgroup Status
SQL> select name, total_mb, free_mb, required_mirror_free_mb, usable_file_mb ,type
from v$asm_diskgroup
where name=’DATA’;
NAME TOTAL_MB FREE_MB REQUIRED_MIRROR_FREE_MB USABLE_FILE_MB TYPE
—- ——– ——– ———————— ————— —-
DATA 409600 600 0 800 EXTERN
Since redundancy is EXTERNAL, the usable free space equals the free space. Still not enough to allocate a new tempfile.
Step 6 — View Disk Paths
SQL> select path, free_mb,total_mb,state
from v$asm_disk
where group_number in
(select group_number from v$asm_diskgroup where name=’DATA’);
PATH FREE_MB TOTAL_MB STATE
————— ——– ——— ——–
/dev/DATADISK4 152 102400 NORMAL
/dev/DATADISK3 140 102400 NORMAL
/dev/DATADISK2 172 102400 NORMAL
/dev/DATADISK1 136 102400 NORMAL
No abnormal disks—only low space.
Step 7 — Re-check ASM Operations
SQL> select group_number, operation, state, error_code from v$asm_operation;
no rows selected
No ongoing rebalance or operations blocking disk usage.
Step 8 — Confirm TEMPFILE Metadata
SQL> select * from dba_temp_files where tablespace_name like ‘TEMP’;
FILE_NAME FILE_ID TABLESPACE_NAME BYTES BLOCKS STATUS
——————————————— ——– ————— ———- —— ——-
+DATA/CDB/TEMPFILE/temp.264.1029707049 1 TEMP 34603008 4224 ONLINE
TEMPFILE exists but the diskgroup has no space to add another.
Final Conclusion — Why the Error Occurred
Your +DATA diskgroup is completely full.
Oracle cannot allocate additional space required to create a new TEMPFILE or extend datafiles.
Final Solution Options
To permanently fix the issue, choose one:
Option 1: Add more disks to +DATA ASM diskgroup
Best long-term solution.
Option 2: Drop unused datafiles/tempfiles
If possible, clean old files or move some datafiles to RECO diskgroup (if appropriate).
Option 3: Resize / shrink objects
Move large segments, purge logs, or migrate temporary tablespace to RECO (if allowed).
Option 4: Truncating AUD$
This only fixes SYSTEM tablespace issues — not ASM diskgroup free space.
Summary
ORA-15041: diskgroup “DATA” space exhausted
because your DATA ASM diskgroup had only ~600 MB free, while the TEMPFILE required 3 GB.
Diagnostics confirmed:
DATA disks have minimal free space
No ASM operations blocking space
TEMP tablespace fully consumed
ASM diskgroup type is EXTERNAL
Only solution is to free space or add more storage
Oracle Solutions We believe in delivering tangible results for our customers in a cost-effective manner