• 分区表的本地索引竟然失效了——ORA01502


    由于昨天对一个千万级别的分区表做了分区数据交换的操作,因为本表操作太慢,所以将其移出普通表操作后才移回分区表,但是今天又反馈该表的某字段为条件查询速度很慢,自己试了下果真如此,我看了查询语句的执行计划发现根本没用上索引(该字段是一个本地索引),因此就想用hint强制使用该索引,结果报错了ora-01502.

    本地索引失效了?我很纳闷,什么原因导致的呢,难不成是我昨晚的操作导致的?因此网上一查,看到该博文http://diegoball.iteye.com/blog/575786,终于明白了,因为操作时该表具有主键,因此没法加上INCLUDING INDEXES这个子句,尽管后来因为主键被别的表引用必须disable才能交换数据,但是也没有加上该子句,因此就导致我操作的这个分区的所有本地索引都失效了。

    查看本地索引状态:

    SELECT index_name, partition_name, status
      FROM user_ind_partitions
     WHERE index_name = '&index_name';

    发现失效当然就得赶紧重建下失效的索引

    alter index index_name rebuild partition partition_name  ONLINE;

  • 相关阅读:
    Java 内存溢出(java.lang.OutOfMemoryError)的常见情况和处理方式总结
    Springmvc bean依赖注入为空
    protocol Buffer
    SSO单点登录
    .gitignore 不生效问题
    IntelliJ IDEA 背景色以及字体设置
    zookeeper 集群
    zookeeper 下载安装
    springboot 连接redis
    xshell 连接redis
  • 原文地址:https://www.cnblogs.com/lanzi/p/2876983.html
Copyright © 2020-2023  润新知