甲骨文无效索引修复

  

  <强>   ora - 01502:索引或这类索引的分区处于不可用状态   
     

  

  原因:出现这个问题,可能有人搬过表,或者禁用过索引。   
  1. alter table xxxxxx移动表空间xxxxxxx命令后,索引就会失效。   
  2. 改变指数index_name ,不能使用,命令使索引失效。   
  
  解决办法:   
  1. 重建索引才是解决这类问题的完全的方法。   
  ,,,,改变指数index_name重建(在线);   
  
  ,,,,或者改变指数index_name重建;   
  2. 如果是分区索引只需要重建那个失效的分区。   
  ,,,,改变指数index_name重建分区partition_name(在线);   
  
  ,,,,或者改变指数index_name重建分区partition_name;   
  
  3.或者改变当前索引的名字。   
  
  说明:   
  1. 改变会话设置skip_unusable_indexes=true;就可以在会话级别跳过无效索引作查询。   
  2. 分区索引应适用user_ind_partitions。   
  3.状态分四种:   
  ,,,N/A说明这个是分区索引需要查user_ind_partitions或者user_ind_subpartitions来确定每个分区是否可用;   
  ,,,说有效明这个索引可用;   
  ,,,不能说明这个索引不可用;   
  ,,,可用说明这个索引的分区是可用的。   
  
  4. 查询当前索引的状态:从user_indexes选择不同的状态;   
  
  5. 查询那个索引无效:选择index_name得到,user_indexes状态& lt;比;& # 39;有效# 39;;   
  
  6. 详细讲解可参考:http://www.sudu.cn/info/html/edu/20071225/20526.html。   
  
  7. 批量重建下:选择& # 39;改变指数& # 39;| | index_name | | & # 39;在线重建;& # 39;得到,user_indexes状态& lt;比;& # 39;有效# 39;和index_name不像# 39;% $ $ & # 39;;   

  

  
  

甲骨文无效索引修复