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