ORA-15041: Diskgroup DATA Space Exhausted
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