首页 » 技术分享 » 【Oracle】error code [1502]; ORA-01502;索引的分区处于不可用状态

【Oracle】error code [1502]; ORA-01502;索引的分区处于不可用状态

 

凡眼看世界,流水落花烟雨里...

背景:

对数据库表进行插入记录的时候,报出以下错误:

error code [1502]; ORA-01502: index 'TEST.SYS_C0033286' or partition of such index is in unusable state

处理:

从报错的内容可以看出,是因为索引状态为UNUSABLE导致的。

1.先查看下这张表有多少数据(查询结果有200多万条)

SELECT count(*) from NOTICE_INFO

2.查看索引的状态(三条都可以查对应索引的状态)

SELECT OWNER, INDEX_NAME,STATUS  FROM DBA_INDEXES WHERE INDEX_NAME='SYS_C0033286' ;   -- 或
SELECT OWNER, INDEX_NAME,STATUS  FROM ALL_INDEXES WHERE INDEX_NAME='SYS_C0033286' ;   -- 或
SELECT  INDEX_NAME,STATUS  FROM USER_INDEXES WHERE INDEX_NAME='SYS_C0033286' ;

注意这个index_name不要加上表空间test,不然查不出来:查出来的结果显示 unusable

3.那么就对这个索引进行重置

ALTER INDEX SYS_C0033286 REBUILD;

备注:重置索引要注意,是否会影响其他表的数据;还有就是本表的数据是否有备份;

转载自原文链接, 如需删除请联系管理员。

原文链接:【Oracle】error code [1502]; ORA-01502;索引的分区处于不可用状态,转载请注明来源!

2