SQL 错误 [1502] [72000]: ORA-01502: index ‘ROL_ID_KEY‘ or partition of such index is in unusable state

3 篇文章 0 订阅

插入数据的时候报如下错误:
SQL 错误 [1502] [72000]: ORA-01502: index 'ROL_ID_KEY' or partition of such index is in unusable state
这个错误是由于索引失效造成的,重建索引后,问题就解决了。

过程如下:

  • 检查索引状态
 
  1. select index_name,index_type,tablespace_name,table_type,status from user_indexes where index_name='ROL_ID_KEY';

  2. INDEX_NAME INDEX_TYPE TABLESPACE_NAME TABLE_TYPE STATUS

  3. ------------------------------ --------------------------- ------------------------------ ----------- --------

  4. ROL_ID_KEY NORMAL DATA_DYNAMIC TABLE UNUSABLE

这时索引已经是“UNUSABLE”

  • 设置skip_unusable_indexes=false,是为了不跳过失效索引
 
  1. alter session set skip_unusable_indexes=false;

  2. Session altered.

  • 重建这个失效的索引 alter index ROL_ID_KEY rebuild;
 
  1. alter index ROL_ID_KEY rebuild;

  2. Index altered.

  • 查询索引状态
 
  1. select index_name,index_type,tablespace_name,table_type,status from user_indexes where index_name='ROL_ID_KEY';

  2. INDEX_NAME INDEX_TYPE TABLESPACE_NAME TABLE_TYPE STATUS

  3. ------------------------------ --------------------------- ------------------------------ ----------- --------

  4. ROL_ID_KEY NORMAL DATA_DYNAMIC TABLE VALID

  此时索引状态已经改为‘VALID’,错误解决。现在执行sql,插入数据就不会报错了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值