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;

  • 相关阅读:
    poj 1191(棋盘分割)
    poj 1184(聪明的打字员)
    HDU 3593(The most powerful force)
    poj 2449(Remmarguts' Date)
    poj 1837(blance)
    poj 1742(Coins)
    poj 3280(Cheapest Palindrome)
    poj 1077(八数码)
    数组排序1.和求最大值
    当textindent与float相遇
  • 原文地址:https://www.cnblogs.com/lanzi/p/2876983.html
Copyright © 2011-2022 走看看