我有一个表
其索引index中定义的 partition是这样的
partition P123 tablespace ... partition P999 tablespace ... 没有数据的时候
 ANALYZE table table_name 没问题但是当导入数据后ANALYZE table table_name P123 extinot...没问题ANALYZE table table_name P999 却错了p123 MAX 是123p999 MAX 是 MAX提示index 不可用。
我把index 删除了就
ANALYZE 成功了?求教这是为什么?
如何解决。具体代码考不出来(不是一台机器无法相连)
大体上代码如上。

解决方案 »

  1.   

    推荐使用包dbms_stats.gather_table_stats来生成分析数据。
    使用analyze命令分析表时,会默认分析索引,如果索引处于 unuseable状态,
    将无法分析成功。当然,你可以删除索引或者重alter index ... rebuild重建索引后,再分析
    如果使用gather_table_stats则不会分析索引,所以索引是否可用无影响。
      

  2.   

    但是现在还有个问题,
    建立的表后
    SQL> CREATE TABLE aaa
      2  (a        NUMBER NOT NULL,
      3  b      varchar2(128),
      4  c          DATE  NOT NULL
      5  )
      6  PARTITION BY RANGE (a)
      7  (PARTITION pt_06 VALUES LESS THAN (TO_DATE('01/01/2007', 'DD/MM/YYYY')),
      8  PARTITION pt_07 VALUES LESS THAN (TO_DATE('01/01/2008', 'DD/MM/YYYY')));然后建立索引
    SQL> CREATE INDEX aaa_idx ON dbobjs (a) LOCAL
      2  (PARTITION pt_06 TABLESPACE tttt,
      3    PARTITION pt_07 TABLESPACE tttt
      4    );成功后
    查询索引字典结果是
    我的索引下没有 TABLESPACE?是不是创建索引那错了?
    所以我分析表的时候会提示索引不可用。
    当我把索引删除了重新创建
    CREATE INDEX aaa_idx ON dbobjs (a) TABLESPACE tttt;
    就好用了。初学者
    有那位大虾能稍微详细的说下
    建立Local索引都需要那些步骤。
    还有注意事项!
    谢谢!!!!!!!!!!!!!!!!!!!!!!
      

  3.   

    虽然问题现在解决了
    load数据的时候问题。
    但是现在还是不明白上面那个问题
    怎么看不到 TABLESPACE
    有哪位大侠给讲下!
    谢谢!!~~~