ORA-25153 Temporary Tablespace is Empty Error in Oracle
When executing SQL query, the following Oracle error may appears:
ORA-25153: Temporary Tablespace is Empty
The cause for the ORA-25153 error is because attempt was made to use space in a temporary tablespace with no files (no datafiles defined).
To solve the problem, the solution is just by adding files (datafiles) to the TEMP tablespace by using ADD TEMPFILE command, or by using “Add Datafiles” in Oracle Enterprise Manager.
If you check and found that TEMP tablespace already has data files, check the default temporary tablespace for all users and your database and set the default temporary tablespace to a valid temporarary tablespace.
To check the default temporary tablespace of the database:
SQL> select property_name, property_value from database_properties;
The SQL will return the following results, look for DEFAULT_TEMP_TABLESPACE for the setting:
| PROPERTY_NAME | PROPERTY_VALUE |
| —————————— | —————————— |
| DICT.BASE | 2 |
| DEFAULT_TEMP_TABLESPACE | TEMP |
| DBTIMEZONE | +01:00 |
| NLS_NCHAR_CHARACTERSET | AL16UTF16 |
| GLOBAL_DB_NAME | ARON.GENERALI.CH |
| EXPORT_VIEWS_VERSION | 8 |
| NLS_LANGUAGE | AMERICAN |
| NLS_TERRITORY | AMERICA |
| NLS_CURRENCY | $ |
| NLS_ISO_CURRENCY | AMERICA |
| NLS_NUMERIC_CHARACTERS | ., |
| NLS_CHARACTERSET | WE8ISO8859P1 |
| NLS_CALENDAR | GREGORIAN |
| NLS_DATE_FORMAT | DD-MON-RR |
| NLS_DATE_LANGUAGE | AMERICAN |
| NLS_SORT | BINARY |
| NLS_TIME_FORMAT | HH.MI.SSXFF AM |
| NLS_TIMESTAMP_FORMAT | DD-MON-RR HH.MI.SSXFF AM |
| NLS_TIME_TZ_FORMAT | HH.MI.SSXFF AM TZR |
| NLS_TIMESTAMP_TZ_FORMAT | DD-MON-RR HH.MI.SSXFF AM TZR |
| NLS_DUAL_CURRENCY | $ |
| NLS_COMP | BINARY |
| NLS_LENGTH_SEMANTICS | BYTE |
| NLS_NCHAR_CONV_EXCP | FALSE |
| NLS_RDBMS_VERSION | 9.2.0.6.0 |
If default temporary tablespace is wrong the alter it with the following command:
SQL> alter database default temporary tablespace temp;
To check default temporary tablespace for all users of the database:
SQL> select username, temporary_tablespace, account_status from dba_users;
will return the following result, check if all users TEMPORARY_TABLESPACE is set to correct settings:
| USERNAME | TEMPORARY_TABLESPACE | ACCOUNT_STATUS |
| —————————— | —————————— | ——————————– |
| SYS | TEMPRY | OPEN |
| SYSTEM | TEMP | OPEN |
| OUTLN | TEMP | OPEN |
| DBSNMP | TEMP | OPEN |
| DBMONITOR | TEMP | OPEN |
| TEST | TEMP | OPEN |
| WMSYS | TEMP | EXPIRED & LOCKED |
If wrong temporary tablespace is found, alter it with the correct tablespace name (for example, sys) with the following SQL:
SQL> alter user sys temporary tablespace temp;
Alternatively, recreate or add a datafile to your temporary tablespace and change the default temporary tablespace for your database;
SQL> drop tablespace temp including contents and datafiles;
SQL> create temporary tablespace temp tempfile ‘/db/temp01.dbf’ size 100m autoextend off extent management local uniform size 1m;
SQL> alter database default temporary tablespace temp;
Share and contribute or get technical support and help at My Digital Life Forums.
Related Articles
- Oracle ORA-01658 Unable to Create INITIAL Extent for Segment in Tablespace Error
- How to Remove and Drop Datafiles from Tablespace in Oracle Database
- How to Rename or Move Oracle Tablespace Datafile to Another Location
- How Drop Tablespace and Recover Oracle Database When Accidentally Delete Datafile
- IMP-00013 Oracle Import Error
- Oracle PL/SQL ORA-00947 Not Enough Values Error
- Oracle EXP-00091 Error When Export Database
- ORA-02449 Oracle Drop Table Error
- Oracle Database Import Error 3113/3114
- Oracle ORA-14074 Create or Add New Partition Fails Error


























January 28th, 2008 17:52
very good informative articale.
thanks
srinivas
May 7th, 2008 13:28
Hi,
Thank you for such clear details.
It helped me solve a problem in SAP BW system.
Regards
Sharath
September 19th, 2008 16:15
very informative
helps to find out
why wrong and what to do to overcome