ORA-01502

来源:互联网 发布:ubuntu安装emacs25.3 编辑:程序博客网 时间:2024/06/05 21:14

开发环境有张表突然变得很慢,问什么原因。检查了一下,发现执行计划有问题。
于是去做一下统计分析。出现了ORA-01502错误。

原来是有人move表后,忘记了编译索引 rebuild index。


SQL> analyze table test compute  statistics;
analyze table test compute  statistics
*
第 1 行出现错误:
ORA-01502: 索引 'REPORT.TEST_IDX_OBJ_NAME' 或这类索引的分区处于不可用状态


SQL>  select i.index_name ,i.table_name,i.status from user_indexes  i
  2   where i.index_name='TEST_IDX_OBJ_NAME';

 

INDEX_NAME                         TABLE_NAME    STATUS            
--------------------------              ------------         ----------------  
TEST_IDX_OBJ_NAME              TEST                UNUSABLE          

                                                                                                                                                                   
SQL> alter  index  TEST_IDX_OBJ_NAME rebuild;

索引已更改。

 

SQL> analyze table test compute  statistics;

表已分析。

SQL>  select i.index_name ,i.table_name,i.status from user_indexes  i
  2   where i.index_name='TEST_IDX_OBJ_NAME';

 

INDEX_NAME                         TABLE_NAME    STATUS            
--------------------------              ------------         ----------------  
TEST_IDX_OBJ_NAME              TEST               VALID             

 

 

重组表本是好意,但忘记做rebuild index 也给开发带来了一定的影响。

 

时刻提醒自己在干什么,会产生什么后果。

 

         

原创粉丝点击