文档章节

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

JackFace
 JackFace
发布于 2018/02/12 22:42
字数 317
阅读 22
收藏 0

原因: 出现这个问题,可能有人move过表,或者disable 过索引。
1. alter table xxxxxx move tablespace xxxxxxx 命令后,索引就会失效。
2. alter index index_name  unusable,命令使索引失效。
解决办法:
1. 重建索引才是解决这类问题的完全的方法。
     alter index index_name rebuild (online);
     或者alter index index_name rebuild;
2. 如果是分区索引只需要重建那个失效的分区 。
     alter index index_name rebuild partition partition_name (online);
     或者alter index index_name rebuild partition partition_name ;
3. 或者改变当前索引的名字。

说明:
1. alter session set skip_unusable_indexes=true;就可以在session级别跳过无效索引作查询。
2. 分区索引应适用user_ind_partitions。
3. 状态分4种:
    N/A说明这个是分区索引需要查user_ind_partitions或者user_ind_subpartitions来确定每个分区是否可用;
    VAILD说明这个索引可用;
    UNUSABLE说明这个索引不可用;
    USABLE 说明这个索引的分区是可用的。

4. 查询当前索引的状态:

select distinct status from user_indexes;


5. 查询那个索引无效

select index_name from  user_indexes where status <> 'VALID';


6. 详细讲解可参考:http://www.sudu.cn/info/html/edu/20071225/20526.html。

7. 批量rebuild下:

select 'alter index '||index_name||' rebuild online;' from  user_indexes where status <> 'VALID' and index_name not like'%$$';

 

© 著作权归作者所有

JackFace
粉丝 20
博文 58
码字总数 49671
作品 0
库尔勒
程序员
私信 提问
"ora-01502 索引或这类索引的分区处于不可用状态"的解决方案

如题,在ORACLE中自动新增删除分区之后,会报出ora-01502的错误。 首先,问题的原因是在于进行表结构修改后,索引失效。问题解决有如下几个方式: 1、手动查询重建 (1)先查询失效索引,语句为...

菠萝啊哈哈
2014/07/11
0
0
oracle11g分区中的两大陷阱

如何使用Oracle分区功能? 1.个别场景不能从根本上提高查询速度 在Oracle10g时不支持自动生成分区,技术人员都是手动创建一年或者半年的分区或者当超过限制时把数据都load到最大值分区,但是...

strict_nerd
05/17
0
0
oracle分区索引和全局索引总结

分区索引就是在所有每个区上单独创建索引,它能自动维护,在drop或truncate某个分区时不影响该索引的其他分区索引的使用,也就是索引不会失效,维护起来比较方便,但是在查询性能稍微有点影响...

zxf261
2012/06/03
0
0
导入导出 Oracle 分区表数据

-- -- 导入导出 Oracle 分区表数据 -- 导入导入Oracle 分区表数据是Oracle DBA 经常完成的任务之一。分区表的导入导出同样普通表的导入导出方式,只不过导入导出需要考 虑到分区的特殊性,如...

蔡培元
2016/08/23
18
0
ORA-14048: 分区维护操作不能与其它操作组合

今天 fannairu 同学导入数据库时出现一个错误, 提示如下: IMP-00017: 由于 ORACLE 错误 14048, 以下语句失败: "ALTER INDEX "SYS_C009967" UNUSABLE ENABLE" IMP-00003: 遇到 ORACLE 错误 14......

sailtseng
2012/06/07
0
0

没有更多内容

加载失败,请刷新页面

加载更多

《Designing.Data-Intensive.Applications》笔记 二

Partitioning(分区) 对于非常大的数据集,或非常高的吞吐量,仅复制是不够的:我们需要将数据进行分区(partitions),也称分片(sharding) Partitioning of Key Range(根据键范围分区) 缺点是某...

丰田破产标志
29分钟前
0
0
springboot2+logback将日志输出到oracle数据库的踩坑之旅

背景 根据本人写博客的惯例,先交代下背景。在公司的系统中,我们的配置文件是切分有好几个的,不同的配置文件里面配置内容有着不同,对于日志的输出,也需要对不同的环境做出不同的输出,这...

succy
33分钟前
1
0
记一次临近上线程序发生OOM

记一次临近上线程序发生OOM 故事背景 最近一直在赶着应用上线,基本已经封包准备上线了,谁都不想在这时间点上出差错~ 当时应用已经上线pre,压力测试已经通过,然而昨天下午测试组的同事突然找到...

黑搜丶D
45分钟前
1
0
微服务概念与入门

总体 微服务拆分 康威定律详细介绍 Mike从他的角度归纳这篇论文中的其他一些核心观点,如下: 第一定律:Communication dictates design(组织沟通方式会通过系统设计表达出来) 第二定律:T...

之渊
52分钟前
0
0
BlockLang 0.3.0 发布啦

BlockLang 官网:https://blocklang.com Block Lang 0.3.0 引入一个新概念:组件市场。 拼装软件时使用的零部件统称为组件。所有组件在组件市场中统一管理,包括 Block Lang 的内置组件。 组...

blocklang
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部