龙空技术网

oracle数据库索引失效怎么处理?一条命令就可以了

波波说运维 437

前言:

眼前姐妹们对“oracle索引unusable”大概比较关怀,小伙伴们都想要了解一些“oracle索引unusable”的相关文章。那么小编也在网上汇集了一些关于“oracle索引unusable””的相关资讯,希望朋友们能喜欢,朋友们快快来了解一下吧!

概述

记录一下最近碰到的一个问题,系统维护人员发现接口平台异常,报错如下:

信息:执行存储过程xxxx出错!开始执行存储过程xxxx-12008-----ORA-12008: 实体化视图的刷新路径中存在错误

ORA-01502: 索引 'xxxx' 或这类索引的分区处于不可用状态

下面介绍下解决的过程:

这里报错还是挺明显的,索引不可用?

1、查看索引状态

select status from user_indexes where index_name='PK_ORDER_RELEASE_LINE';

这里可以看到还真的是unusable,可能是有人move过表,或者disable 过索引。

2、重建索引

alter index PK_ORDER_RELEASE_LINE rebuild;

这里重建索引看下,重建索引有时是会碰到资源繁忙的情况的,这时候大家可以等一下再操作,或者也可以排查下死锁,然后kill 相关会话,不过比较建议等一下操作吧~

3、查看索引状态

在索引可用后让相关人员重新调试接口,反馈不会再报这方面的错误,问题解决。

新接触的这个系统还是挺多问题的,特别是存储过程方面,计划后面做一下优化,再分享相关内容,感兴趣的朋友可以关注一下~

标签: #oracle索引unusable