ORA-01502疑难问题
我这有一个很大的表t_wap_content是一个按时间分区的表,有一个blob字段上的全文检索。在做全文索引的查询是,最近已经第二次报ORA-01502的错误了。第一次是重建整个索引解决的,当初以为是空间不足引起的。现在又报错了。这个表的数据很多,写入也很频繁,没15分钟还要在新入数据上增加全文索引。定期会删除数据和过期的分区。不知道问题可能出在哪个环节。因为其他表也。上一次还只是某几个分区上的全文有问题,现在出问题的就是连续一个月的分区上都不行(按天分区)。这是个上线的系统,重建全表全文索引又要耗时几天,对客户很有影响。不知道有没有哪位高人曾经解决过过类似问题,或有过类似经验,请赐教。 在此急盼!!

解决方案 »

  1.   

    http://chinaitpower.com/A200507/2005-07-27/177692.html
    参考下这个例子!
      

  2.   

    这个也有看过,文中提到的加update global indexes的方式,我这的脚本中也有。谢谢各位兄弟姐妹。
    继续顶吧。
      

  3.   

    你的原因最大的可能就是,分区表的全局index在修改分区的时候和truncate分区等的ddl操作后导致。
    比如:
    alter table tt ADD partition;
    alter table tt truncate partition p0;
    都会导致全局index不可用;解决办法是添加update global indexes,比如alter table tt ADD partition update global indexes;或者修改完分区后rebuild index
    --查看失效的index:SELECT * FROM User_Indexes s WHERE s.status='UNUSABLE';
    对于local索引可以通过:ALTER TABLE MODIFY PARTITION partition_name REBUILD UNUSABLE LOCAL INDEXES;当然你也可以通过修改init参数来避免报错:
    alter system set skip_unusable_indexes=true;
      

  4.   

    感谢 oracledbalgtu!
    我去查查有没有新加索引未更新的情况
      

  5.   

    oracle 好象在LOB字段上是无法建立索引的,你查询这个表的时候都需要什么样的数据啊?为什么不建立局部索引啊,局部索引效率高,并且容易维护.