1.需要批量从mdb导入到oracle,现在采用的方案是先生成cvs文件,再用sqlldr导入(direct=true)。有几十个G的MDB数据循环导入2.导入到CD两个表(表已经进行分区处理,每个表根据月份划分为12个分区),CD表都有bitmap索引
3.导入后利用JOB自动聚合统计,但发现有时候bitmap索引失效,导致聚合无法继续这时候我该怎么办?重建索引吧。可几千万条甚至上亿的数据要重建bitmap分区索引花销实在太大了。
重建5000多万条记录的分区索引大概需要10分钟。有什么更好的解决方案吗?请各路兄弟高人赐教,不胜感激!

解决方案 »

  1.   

    索引失效了2008-05-12 11:07今天过来,应用反应有业务做不成,索引失效了select owner,index_name,table_name,table_owner from dba_indexes where status='UNUSABLE';查出一个索引不可用。因为这个表经常用sqlldr导数据,所以有时会引起索引失效重建之alter index xxx rebuild online parallel 6 nologging;用脚本查看临时空间使用情况select tablespace_name,current_users,(used_blocks*32)/1024/1024 from v$sort_segment;TABLESPACE_NAME                 CURRENT_USERS (USED_BLOCKS*32)/1024/1024
    ------------------------------- ------------- --------------------------
    TEMP                                    7                 25.5629883查看创建进度select target,sofar/totalwork*100 from v$session_longops where sofar<>totalwork;发现只有5个进度,我指定的是parallel 6啊?!失败,记不起是哪个参数限制了parallel_max_servers 这个参数影响了SQL> select target,sofar/totalwork*100 from v$session_longops where sofar<>totalwork;TARGET                         SOFAR/TOTALWORK*100
    ------------------------------ -------------------
                                            51.0360177
                                            49.8279187
                                            64.1291039
                                            56.0587153
                                            95.5988056SQL> set timing on
    SQL> alter index xxx rebuild online parallel 6 nologging;Index altered.Elapsed: 00:37:38.38SQL> select sum(bytes)/1024/1024/1024 gb from dba_segments where segment_name='xxx';        GB
    ----------
    25.2568359使用了25.5629883GB的临时空间,使用空间略大于索引。
     http://hi.baidu.com/utilities/blog/item/464afffe5d4be9345d600857.html看看这个能否能你点帮助。
      

  2.   

    几十G的MDB数据,很吓人呀. 总计还是每天?
      

  3.   

    没关系呀,bitmap index创建速度非常快,并且会比较小.这个你不用太担心.
      

  4.   

    bitmap index当表记录数上亿了重新创建还快?
      

  5.   


    同意,既然你选用bitmap index来index那个column。这个column应该符合bitmap index的情况吧,这时候,bitmap index应该是快于其他种类的。至少空间上是少于其他的index的。对于bitmap index,不要rebuild了,直接drop,重建可能更快一些。
    没有做过实验相关,不过是推断而已。