truncate 会引起分区索引失效
sqlload  也会引起分区索引失效如果你不得不用truncate,建立global分区索引,不要建local分区索引

解决方案 »

  1.   

    我的表建了主键,索引是它自动建的,它可能就是local分区吧,那现在我是不是只能不建主键啊,这样太不方便了。
      

  2.   

    执行下面的sql看看这个索引是建立在那个表上的:select index_name,table_name,table_owner from dba_indexes where index_name='FK_EXIMPREMITTB';
      

  3.   

    我查了,索引就是在表EXIMPREMITTB上的,就是这张表出的问题。
      

  4.   

    这么自信?再执行下面的语句看看表到底有几个索引?
    select count(*) from dba_indexes where table_name='EXIMPREMITTB';
      

  5.   

    DROP the specified index, or REBUILD the specified index, or REBUILD the unusable index partition.
      

  6.   

    select count(*) from dba_indexes where table_name='EXIMPREMITTB'
    这条语句的确只查出有一个索引。
      

  7.   

    我查了资料,在sqlldr中使用direct=true,还使用了truncate table,这些语句都可能对索引造成了影响。dinya2003提到的rebuild索引的办法的确可行,但每次导数我都rebuild索引比较影响效率,不知道有没有更合适的办法?