两天主机(unix)两个数据库/实例, 将一个表从一个数据库转移到另一个数据,怎么样速度快?是EXP/IMP快还是建立数据库链直接insert快?千兆网,表可能很大,可能会超过文件系统的限制(建立管道,compress/uncompress解决),index可以到新库之后在重建;不知可有xdjm知道或做过?

解决方案 »

  1.   

    试一试就知道了,我一个DMP文件,5G,IMP花了4个小时
    一张表2000万条记录,用DBLINK,INSERT花了1个小时
      

  2.   

    2 ATCG:
         偶目前没有真实的环境,现在还是写方案阶段,呵呵
    不知你所提的例子中的那个2k万表是否为那个5g的dmp文件?
      

  3.   

    2K万的表只是5Gdmp文件的一部分
      

  4.   

    简单的做了个测试
    129万条记录,dmp文件为91M ,hp ux 11.0 oracle:8.1.7.4
    exp参数:indexes=n grants=n  constraints=n 不使用buffer时,最慢要10分47秒
    但buffer=81920时好像最快,3分40秒,使用direct=y,2分40秒;
    建立database link insert:2分44秒!
    看来如果加上imp的时间,exp/imp方式比直接insert慢的太多了!oracle搞什么啊!
      

  5.   

    写错了一点:buffer=81920 direct=y 用了2分20秒;
    网络:100M
      

  6.   

    我经常需要进行导入数据操作。而且数据量非常大,如果楼主用大数据量进行测试,你就可以看出ORACLE的相对来说的稳定性了。我导入的数据量大概在6G左右!
      

  7.   

    用 exp/imp 会稳妥一点~
      

  8.   

    exp/imp比較穩定。而insert則容易出錯。
    在者也是你的網絡比較較好dblink才這麼快。
      

  9.   

    2  akinggom(kinggom):
       >>ORACLE的相对来说的稳定性
       是指exp/imp比insert稳定?
    2 all:
       网络条件很好,比千兆以太网还快,155MB/s
       对应buffer参数呢?多少是最快的?
      

  10.   

    阿认为网络条件好的情况下,用DBLINK直接处理还是快些,因为这样的处理是直接在数据库内部处理的;而EXP/IMP还得通过外部程序然后再放到数据库内部处理。