数据库中有一个发票表。记录大概有600万条,但是
我们没有把其中的数据及时迁移走。今天,软件突然报错,
不能插入这个表。具体信息是:index can not extend.这个表有一个主键索引。
我看这个索引的存储增长参数是有限额的,发现这个情况后,我把有限额改成
unlimited,但是软件依然报错。最后情急之下删除了一些记录,软件可以插入
记录了。我处理的有不当之处吗?另外。我把数据转移到另外表空间中的另外表
后,这个表所占据的表空间存储单元能够自动释放吗?oracle应该有这个后台
维护能力吧。

解决方案 »

  1.   

    检查一下index表空间的设置。由于你的表记录过多,相应的index表空间可能不够用,需要扩充。
      

  2.   

    我想还是索引的表空间不足,检查索引表空间是不是自动增长的,如果不是
    select sum(bytes)/1024/1024,tablespace_name from dba_free_space
       group by tablespace_name;看下索引表空间的剩余空间,如果不足,就添加数据文件alter tablespace <空间名>  add datafile '.../index5.dbf'  size 500m ;
      

  3.   

    数据移走,然后truncate table,肯定释放索引所占的空间;然后把max设置成unlimited就可以了
      

  4.   

    检查一下index表空间有没有设置成自动增长