问题补充:
对于这种100多G的巨量数据的插入,有没有必要手动编码设置成分批提交?undo表空间中肯定是没有这么大空间的,那oracle是如何处理这个问题的呢?

解决方案 »

  1.   

    直接路径加载 并行 NOLOGGING
      

  2.   

    建议使用数据泵expdp,impdp吧,先把数据导出在导入,inert的时候你需要先去B表查询,查询浪费太多的时间,插入这么多的数据也会导致你的undo过分膨胀。impdp的参数需要注意TABLE_EXISTS_ACTION=append,PARALLEL=4。个人认为速度要快于insert,如果你仅仅是为了数据导入的话
      

  3.   

    必然要分段提交。整体提交,undo、temp tablesapce都不容许。单条提交速度太慢。你上网找找forall的用法会很大提升批量插入的速度。