首页 > 代码库 > 解决ORA-01659:无法分配超出 30 的 MINEXTENTS

解决ORA-01659:无法分配超出 30 的 MINEXTENTS

     今天在做oracle数据导入的时候遇到了 “ORA-01659: 无法分配超出 30 的 MINEXTENTS (在表空间 TBS_TEST_DB1 中)”

刚开始认为是表空间自增长比较小的原因然后就将表空间文件自增长由开始的next 30m 改为了next50 结果还报错。查询下表空间的使用量

SELECT t.tablespace_name, round(SUM(bytes / (1024 * 1024)), 0) ts_size 

FROM dba_tablespaces t, dba_data_files d 

WHERE t.tablespace_name = d.tablespace_name 

GROUP BY t.tablespace_name;

 发现TBS_TEST_DB1表空间使用量为已接近最大值32G (因为我的DB_BLOCK_SIZE=8k,所以单个表空间文件的最大值为32G),应该接近了oracle 单个表空间文件的最大值,所以尝试为表空间添加文件:

alter tablespace TBS_TEST_DB1 add datafile ‘/opt/app/dataspace/testdb_02.dbf‘ size 10240M;

添加完成后继续执行,果然问题得到了解决。

解决ORA-01659:无法分配超出 30 的 MINEXTENTS