Trabalhando com banco de dados Oracle 11g, podemos encontrar o seguinte erro ao inserir dados numa tabela ou fazendo importação de um arquivo dmp (com impdb -data pump ou imp normal):

ORA-01658: não é possível criar a extensão INITIAL para o segmento no espaço de trabalho XXX

(onde xxx é o nome de uma tablespace)

Para corrigir este problema existem alguns procedimentos que vou descrever a seguir.

Primeiramente, verifique se existe espaço disponível no arquivo de dados (datafiles) e se eles são extensíveis utilizando a seguinte query no sqlplus (usuário system ou sys):


set linesize 200
col file_name format a50

select
a.file_id,b.file_name,b.autoextensible,
b.bytes/1024/1024 t1,
sum(a.bytes)/1024/1024 t2
from
dba_extents a , dba_data_files b
where
a.file_id=b.file_id
group by
a.file_id,b.file_name,
autoextensible,
b.bytes/1024/1024

Algumas possíveis soluções para o erro do Oracle ORA-01658:

1. Alterar o arquivo de dados (datafile) para ser autoextend:

alter database datafile 'C:\APP\ADMINISTRADOR\ORADATA\orcl\arquivo.DBF' autoextend on;

2. Se for falta de espaço, você pode adicionar outro arquivo de dados usando o comando a seguir (exemplo com arquivo de dados de 2GB):

ALTER TABLESPACE XXX ADD DATAFILE ‘c:\app\administrador\oradata\orcl\arquivo2.dbf’ size 2G;

3. Aumentar o tamanho do arquivo de dados com o seguinte comando:

ALTER DATABASE DATAFILE ‘C:\APP\ADMINISTRADOR\ORADATA\orcl\arquivo.DBF’ RESIZE 5G;