错误
java.sql.SQLException: ORA-01688: unable to extend table XXX partition YYY by 1024 in tablespace ZZZ
往Oracle table中导入大量数据时,遇到上面的数据库错误。
注意:
我在错误信息中隐藏了真实的表名、分区名、表空间名,下面的sql也将用它们来代替,如果要解决自己项目中的问题,根据自己的情况进行替换:
XXX: table name
YYY: partition name
ZZZ: tablespace name
错误解释:
该表所属的表空间大小不够。
解决方案
有以下3种解决办法:
-
给指定的tablespace增加data file
alter tablespace ZZZ add datafile 'path\to\data\file2' size 1G;
-
增加当前data file的大小
alter database datafile 'path\to\data\file' resize 10G;
-
设置当前的data file为自动增长
alter database datafile 'path\to\data\file' autoextend on maxsize unlimited;
注意:
上面的sql是例子,具体的限制根据自己项目的实际情况来。
如果是测试环境,可以考虑删除不用的老数据,达到清理空间的效果。例子如下:
alter table table_name truncate partition partition_name
update indexes;