Pues eso amig@s,
Si nos encontramos con el error ORA-1652 al realizar un export o al consultar los objetos de nuestro usuario, se debe a que Oracle es incapaz de ampliar el tablespace Temporal (TEMP).
Este fallo persiste por más que borremos o recreemos el tablespace Temporal. Para saber cual es tamaño actual que está detectando Oracle, debemos ejecutar la siguiente consulta como SYS:
SELECT A.tablespace_name tablespace, D.mb_total,
SUM (A.used_blocks * D.block_size) / 1024 / 1024 mb_used,
D.mb_total – SUM (A.used_blocks * D.block_size) / 1024 / 1024 mb_free
FROM v$sort_segment A,
(
SELECT B.name, C.block_size, SUM (C.bytes) / 1024 / 1024 mb_total
FROM v$tablespace B, v$tempfile C
WHERE B.ts#= C.ts#
GROUP BY B.name, C.block_size
) D
WHERE A.tablespace_name = D.name
GROUP by A.tablespace_name, D.mb_total;
Una vez que detectemos que efectivamente en el campo mb_free queda muy poco espacio (recordar que el valor que devolverá la query es en megas) procederemos ha ampliar el tablespace TEMP, para ello ejecutaremos como SYSDBA la siguiente instrucción:
Primero obtenemos el nombre y la ruta del tablespace TEMP:
select file_name , TABLESPACE_NAME from DBA_TEMP_FILES;
Ejemplo: c:\oracle\oradata\orcl\temp01.dbf TEMP
Luego ejecutamos la instrucción para ampliar el tablespace temporal:
ALTER DATABASE TEMPFILE 'c:\oracle\oradata\orcl\temp01.dbf’ RESIZE 3072M;
Cuando Oracle termine de ampliar el tablespace, el error Ora-1652 quedará solucionado.
Espero que les resulte útil.
Salu2.
¿hasta cuanto se puede ampliar? ¿es decir hay un limite? es un dolor de cabeza cuando se te llena mas de una vez. gracias!
ResponderEliminar