ORA-25153: Temporary Tablespace is Empty

Estaba trabajando en una de mis bases de datos (Soy el DBA, puedo decir 'Mis' ?) así que decidí reconstruir el catálogo (otro día explicaré como es ese proceso). El problema es que esta reconstrucción deja muchos objetos en estado inválidos así que tuve que ejecutar utlrp para recompilar los objetos inválidos.

Desafortunadamente la compilación falló con el siguiente error:


BEGIN utl_recomp.recomp_serial(); END;
*
ERROR at line 1:
ORA-25153: Temporary Tablespace is Empty
ORA-06512: at "SYS.UTL_RECOMP", line 499
ORA-06512: at "SYS.UTL_RECOMP", line 653
ORA-06512: at line 1

Buscando en internet encuentro que el problema es de existencia de tablespace, que puede ser:
- La base de datos no tiene tablespace temporal asignado
- El tablespace temporal no existe
- El tablespace no tiene datafile

Verificando en v$datafile y dba_tablespaces me doy cuenta que la base de datos tiene tablespace temporal y que tiene datafile, así que la razón debe ser que el tablespace no es lo suficientemente grande. Entonces simplemente es cuestión de agrandarlo con


ALTER TABLESPACE TEMP
ADD TEMPORARY FILE '/u04/oradata/ICELAB/temp02_ICELAB.dbf'
SIZE 2048M AUTOEXTEND OFF;

Y parece que ya "utlrp" puede recompilar sin problemas


start $ORACLE_HOME/rdbms/admin/utlrp