问题描述】ORA-01658:unable to create INITIAL extent for segmnet in tablespace XXX
原因:
表空间XXX空间不足,导致数据无法插入。
【解决方案】:
解决方案一:
重新定义表空间大小:导入数据必须是小于5G的
ALTER TABLESPACE aly RESIZE 5G ;
解决方案二: (注意:删除表空间后,此表空间里面的所有数据将会被删除,删除表空间前,请慎重)
将表空间删除后重新定义表空间
--删除表空间,及对应的表空间文件也删除掉
drop tablespace aly including contents and datafiles cascade constraint;
重建表空间
初始化表空间1G,100M扩容,最大20G
create tablespace aly
logging
datafile '/data/oracle/oradata/orcl/aly.dbf'
size 1024M
autoextend on
next 100m maxsize 20480M extent management local;
大多数都能解决,但是遇上越大文件就不行了,还是一个劲的报1658,
oracle11g,导入dmp文件,表空间已经建好了,设置了自动增长。可是导入dmp时候出现错误1658。我查了下,说是表空间不足。这是什么问题。硬盘还有10多T。几百g数据分了20多了dmp导入。一多半报错1658。 我甚至做了如下操作,不限制数据文件在最大值。
create tablespace aly
logging
datafile '/data/oracle/oradata/orcl/aly.dbf'
size 32767M
autoextend on maxsize unlimited;
注意:
数据文件有最大限制,可能到达文件最大的32G了,可以考虑增加数据文件。
这类情况 就得增加表空间数据文件了,坑死了,折磨了一天!方案三完美解决
解决方案三:
增加表空间数据文件
ALTER TABLESPACE DW_DATA ADD DATAFILE '/data/oracle/oradata/orcl/aly01.dbf'