CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Oracle >  高级技术

挑战极限,怎样将3000W数据倒到ORACLE里去

楼主trytoremember(忘了你 便忘了自己)2004-09-01 19:55:13 在 Oracle / 高级技术 提问

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

1 楼solidpanther(╃╄╃我爱机器猫╄╃╄)回复于 2004-09-01 20:28:50 得分 10

尽量用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=.2895166Top

2 楼solidpanther(╃╄╃我爱机器猫╄╃╄)回复于 2004-09-01 20:47:26 得分 20

还有优化的地方:先将索引都去掉,如果是分区表的话就没办法了,并且在导入的时候最好用分段的方法,或者是用游标(迫不得已),因为想一次提交是不现实的,  
  利用循环能记录下来导到哪个阶段了,这样可以避免全部都白导的情况,  
  导失败了可一继续导,Top

3 楼trytoremember(忘了你 便忘了自己)回复于 2004-09-01 21:47:26 得分 0

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

4 楼solidpanther(╃╄╃我爱机器猫╄╃╄)回复于 2004-09-01 22:14:49 得分 10

你跟踪一下,看慢在了哪里?然后总结一下发过来,大家帮你解决Top

5 楼trytoremember(忘了你 便忘了自己)回复于 2004-09-01 23:16:19 得分 0

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

6 楼drabit(square)回复于 2004-09-01 23:28:51 得分 10

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

7 楼KingSunSha(弱水三千)回复于 2004-09-02 02:59:11 得分 20

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

8 楼freddy2003()回复于 2004-09-02 08:14:57 得分 10

用sqlloaderTop

9 楼zmgowin(hermit)回复于 2004-09-02 08:33:27 得分 10

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

10 楼zwj0712(阿张)回复于 2004-09-02 08:35:42 得分 10

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

相关问题

  • 挑战极限
  • 挑战极限.................
  • 极限 SQL 大挑战!!!!!!!!!!!!!!!!
  • 挑战极限SQL语句
  • ◆挑战ASP极限算法
  • 超级难题,极限挑战。
  • 挑战极限!!!SQL合并行集
  • 挑战SQLServer极限三:varbinary的限制
  • 挑战极限 谁敢横刀立马?
  • ◆挑战ASP极限算法二

关键词

  • 数据
  • sqlserver
  • 文本
  • oracle
  • vb
  • 导入
  • 文本文件
  • 回退
  • sqlloader
  • plsql

得分解答快速导航

  • 帖主:trytoremember
  • solidpanther
  • solidpanther
  • solidpanther
  • drabit
  • KingSunSha
  • freddy2003
  • zmgowin
  • zwj0712

相关链接

  • Oracle类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo