unable ora full error datafile oracle10g tablespace

oracle10g - full - ora-01652 unable to extend temp segment by 128 in tablespace temp



ORA-01652 No se puede extender el segmento temporal en tablespace (3)

Estoy creando una tabla como

create table tablename as select * for table2

Estoy recibiendo el error

ORA-01652 Unable to extend temp segment by in tablespace

Cuando busqué en Google por lo general, encontré el error ORA-01652 que mostraba algún valor como

Unable to extend temp segment by 32 in tablespace

No obtengo ningún valor de este tipo. Ejecuté esta consulta

select fs.tablespace_name "Tablespace", (df.totalspace - fs.freespace) "Used MB", fs.freespace "Free MB", df.totalspace "Total MB", round(100 * (fs.freespace / df.totalspace)) "Pct. Free" from (select tablespace_name, round(sum(bytes) / 1048576) TotalSpace from dba_data_files group by tablespace_name ) df, (select tablespace_name, round(sum(bytes) / 1048576) FreeSpace from dba_free_space group by tablespace_name ) fs where df.tablespace_name = fs.tablespace_name;

Tomado de: Encuentra espacio libre en tablespace

y descubrí que el espacio de tabla que estoy usando actualmente tiene alrededor de 32 GB de espacio libre. Incluso intenté crear una mesa como

create table tablename tablespace tablespacename as select * from table2

Pero estoy recibiendo el mismo error de nuevo. ¿Alguien puede darme una idea, dónde está el problema y cómo resolverlo? Para su información, la declaración de selección me traería 40,000,000 de registros.


Cree un nuevo archivo de datos ejecutando el siguiente comando:

alter tablespace TABLE_SPACE_NAME add datafile ''D:/oracle/Oradata/TEMP04.dbf'' size 2000M autoextend on;


Encontré la solución a esto. Existe un espacio de tabla temporal llamado TEMP que se usa internamente por la base de datos para operaciones como distintas, uniones, etc. Dado que mi consulta (que tiene 4 combinaciones) recupera casi 50 millones de registros, el espacio de tabla TEMP no tiene mucho espacio para ocupar todos los datos. Por lo tanto, la consulta falla a pesar de que mi espacio de tablas tiene espacio libre. Por lo tanto, después de aumentar el tamaño del espacio de tablas TEMP, el problema se resolvió. Espero que esto ayude a alguien con el mismo problema. Gracias :)


No es necesario crear un nuevo archivo de datos; puede ampliar sus archivos de datos de espacio de tabla existentes.

Ejecute lo siguiente para determinar el nombre de archivo para el espacio de tablas existente:

SELECT * FROM DBA_DATA_FILES;

Luego extienda el tamaño del archivo de datos de la siguiente manera (reemplace el nombre del archivo con el de la consulta anterior):

ALTER DATABASE DATAFILE ''D:/ORACLEXE/ORADATA/XE/SYSTEM.DBF'' RESIZE 2048M;