zoukankan      html  css  js  c++  java
  • 分区表的本地索引竟然失效了——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;

  • 相关阅读:
    MYSQL ALTER
    初入园子
    java常用基础(一)
    C语言类型转换
    C++用EGE简单实现别踩白块游戏
    CPP常用库函数以及STL
    至我的新博客
    工厂模式
    pl/sql developer 编码格式设置
    单例模式
  • 原文地址:https://www.cnblogs.com/lanzi/p/2876983.html
Copyright © 2011-2022 走看看