3000W条文本数据,而且还要对数据做一定简单的规则变换
我现在试着用VB写了个导入程序,算了一下要倒12天,狂FT!

解决方案 »

  1.   

    尽量用insert /*+append*/ into tablename nologging (fld1,fld2...) select ....
    语句,这样会很快,因为不走回滚段,不记录日志,
    还有将数据库设置为非归档模式会快一些.
    oracle导入文本的语句没见过,但是sqlserver的可以,建议用tsql先将规范化的文本导入到sqlserver中,然后再在oracle中建立sqlserver的透明网关,然后建立dblink for sqlserver,然后用plsql将sqlserver的数据导入进oracle中,导入两亿的关系数据需要2个小时就行,不要用sqlserver的dts工具
    有关sqlserver怎么导入文本文件,请参阅:
    http://community.csdn.net/Expert/topic/3325/3325653.xml?temp=.2895166
      

  2.   

    “plsql将sqlserver的数据导入进oracle中”?plsql developer??
    SQL SERVER估计没法用,因为数据库的管理权不在我这里
    我主要的目标有三个
    1是想处理速度尽可能快,3-5天内能倒完
    2是想自动化程度尽量高些,因为以后经常要倒,而且估计以后这个量还会进一步扩大
    3是还得考虑回退,3000w里回退个2-3百万估计会经常遇到。
      

  3.   

    慢就慢在VB的ADO调用ADDNew方法插入数据时,我测算了一下每秒钟大概只有50条左右
    我估计如果是ODBC接口的程序都会有这个毛病
      

  4.   

    先用vb将文件“做一定简单的规则变换”之后生成另外一个格式化的文本文件,然后用sqlloader导入。重新导入比回退2-3百万要快
      

  5.   

    我们的系统都要做这样的操作,用sqlloader无疑是最快的。倒入150M纪录的文本文件,用sqlloader导入,导入前去掉index,用24个进程并行操作,耗时15分钟,重建index耗时20分钟。重建文本文件最快的是用perl,用vb太慢了
      

  6.   

    sqlldr,用direct方式导入,一分钟导入几百兆的文件都是可能的
      

  7.   

    看看DTS啊,SQL SERVER的导入导出工具!!!可以是图形化的操作!!!转换什么都可以!!!