这个错误是由于索引失效造成的,重建索引后,问题就解决了。
ORA-01502: index ‘XXXXXXXX’ or partition of such index is in unusable state
检查一下索引状态,我们会注意到索引已经是“UNUSABLE”了。
SQL> select index_name,index_type,tablespace_name,table_type,status from user_indexes where index_name=’XXXXXXXX ‘;
首先,先设置 “skip_unusable_indexes=false”,也就是不跳过失效索引
SQL> alter session set skip_unusable_indexes=false;
然后重建这个失效的索引
SQL> alter index idxt rebuild;
SQL> select index_name,index_type,tablespace_name,table_type,status from user_indexes where index_name=’XXXXXXXX ‘;
我们看到重建索引后,索引的状态就正常了。