OracleDBerror

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

 

    About Syed Saad

    With 13 years of experience as a certified and skilled Oracle Database Administrator, I possess the expertise to handle various levels of database maintenance tasks and proficiently perform Oracle updates. Throughout my career, I have honed my analytical abilities, enabling me to swiftly diagnose and resolve issues as they arise. I excel in planning and executing special projects within time-sensitive environments, showcasing exceptional organizational and time management skills. My extensive knowledge encompasses directing, coordinating, and exercising authoritative control over all aspects of planning, organization, and successful project completions. Additionally, I have a strong aptitude for resolving customer relations matters by prioritizing understanding and effective communication. I am adept at interacting with customers, vendors, and management, ensuring seamless communication and fostering positive relationships.

    Check Also

    OracleDBerror

    ORA-01035: ORACLE only available to users with RESTRICTED SESSION

    ORA-01035: ORACLE only available to users with RESTRICTED SESSION   1. First Check the Pdbs …

    Leave a Reply