分区表的本地索引竟然失效了——ORA-01502
由于昨天對一個千萬級別的分區表做了分區數據交換的操作,因為本表操作太慢,所以將其移出普通表操作后才移回分區表,但是今天又反饋該表的某字段為條件查詢速度很慢,自己試了下果真如此,我看了查詢語句的執行計劃發現根本沒用上索引(該字段是一個本地索引),因此就想用hint強制使用該索引,結果報錯了ora-01502.
本地索引失效了?我很納悶,什么原因導致的呢,難不成是我昨晚的操作導致的?因此網上一查,看到該博文http://diegoball.iteye.com/blog/575786,終于明白了,因為操作時該表具有主鍵,因此沒法加上INCLUDING INDEXES這個子句,盡管后來因為主鍵被別的表引用必須disable才能交換數據,但是也沒有加上該子句,因此就導致我操作的這個分區的所有本地索引都失效了。
查看本地索引狀態:
SELECT index_name, partition_name, status
? FROM user_ind_partitions
?WHERE index_name = '&index_name';
發現失效當然就得趕緊重建下失效的索引
alter index index_name rebuild partition partition_name? ONLINE;
?
轉載于:https://www.cnblogs.com/lanzi/archive/2013/01/25/2876983.html
總結
以上是生活随笔為你收集整理的分区表的本地索引竟然失效了——ORA-01502的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java ssh 常用术语
- 下一篇: Microsoft Visual Stu