- ·上一篇教程:代码页问题???在线等待。。。
- ·下一篇教程:sql2573错误可以从哪儿查到它的详细信息啊
帮帮忙阿,怎么实现大数据量从oracle导入到db2
怎么实现大数据量从oracle导入到db2,由于oracle和db2的date类型不一直,db2中分为date,time,和timestamp三中类型。因此我们到数据到文本的时候就要定制自己的数据格式。
现在我又三种方法导:
1。走文本,就是把oracle导入到文本文件,然后就是用load再导入db2,现在问题就是不知道怎么把大数据量导入到文本文件,用spool太慢了,那位大哥有没有倒文本的好方法阿,toad对大数据量也不行,只不过toad导出的文本格式很容易定制。
2。用仓库中心,走odbc直接连,可是现在我一直没有成功过,千万级以上的,好像这个也很慢。
3,用ibm提供的组件,relaciotn connect,但是由于db2没有和oracle主机想对应的客户端的oralce的代码页,所以取过来的中文是无法显示,都是?号。
这是我在导数据中积累问题和经验,看看那位大哥能帮帮我!
| Law 回复于:2002-11-16 14:37:26 |
| 为什么没有人回帖阿,这个应该是大家都要遇见的问题阿。 |
| Law 回复于:2002-11-16 14:50:49 |
| 大家帮帮我把,我快要死了 |
| loufangxin 回复于:2002-11-16 15:00:13 |
| 我有工具可以将数据导出成文本文件,blinkstar@163.net |
| Law 回复于:2002-11-16 15:47:32 |
| 怎么给我 dl-door@163.com |
| loufangxin 回复于:2002-11-16 16:20:19 |
| 目前不能处理LONG,BLOB,CLOB,BINARY等类型和值中有回车的情况 |
| loufangxin 回复于:2002-11-16 16:21:45 |
| 你有上述情况吗?如果没有则可以试一下. |
| Law 回复于:2002-11-16 16:22:14 |
| 可以给我,我试试, |
| loufangxin 回复于:2002-11-16 16:24:19 |
| 我只允许你用ODBC连接至DB2可以吗! |
| loufangxin 回复于:2002-11-16 16:30:11 |
| 给一个EMAIL吧 |
| loufangxin 回复于:2002-11-16 16:34:34 |
| 你收一下MAIL吧 |
| Law 回复于:2002-11-16 16:46:41 |
| 收到你的邮件了,怎么是java阿,能不能不走odbc,走odbc的话,那也必须比数据仓库中心提供的组件要快哈!! |
| loufangxin 回复于:2002-11-16 16:48:00 |
| 速度:二十字段的表,大约为12万条记录/分钟 |
| loufangxin 回复于:2002-11-16 16:49:57 |
| JAVA比较容易处理字符编码等问题,我在ORACLE上试,JAVA很快的 |
| Law 回复于:2002-11-16 16:51:12 |
| 我十要把oracle的数据导出来然后到db2,可以直接到db2,也可以先到文本在到db2,从文本到db2十很快的,主要慢在oracle那里!! |
| loufangxin 回复于:2002-11-16 16:51:19 |
| 你用一台很好的WINDOWS机器做导出服务器,运行多个导出线程,为什么会不快呢? |
| loufangxin 回复于:2002-11-16 16:54:32 |
| 用法 JSQL> export -id tab_subscrb 2 -query "select * from tab_subscrb" 3 -file d:\tab_subscrb 4 -log d:\tab_subscrb.log 5 / JSQL> start tab_subscrb JSQL> status |
| Law 回复于:2002-11-17 12:18:52 |
| 昨天我把电信的acct_item表从oracle导入到db2中区了,用的是db2的数据仓库管理中心,走odbc,用了11个小时,有20个字段,数据量4千4白万条记录 |
| windrain 回复于:2002-11-17 12:41:35 |
| acct_item每个月应该有3000万左右,call_ticket也差不多,对于那三个计费(集泓通、新宇龙、大唐)的表结构差不多,可以使用pro*c来统一处理,根据配置文件的不同判断哪个集成商的计费系统,pro*c程序优化以后每分钟可以生成35-70M的数据文件(按照db2的del模式),对于acct_item,我记得我处理的时候pro*c用了25-35分钟做了数据采出,db2 load的时候用不到10分钟左右。 仅仅作为一个建议,请参考。 |
| loufangxin 回复于:2002-11-17 15:04:29 |
| 我建议可以按时间分别用ODBC导出,进行并行导出,可以快一点. |
| loufangxin 回复于:2002-11-17 15:07:11 |
| 用我给你的程序可以在5个小时内完成从ORACLE导出 |
| loufangxin 回复于:2002-11-17 15:10:07 |
| 采用并行的话更快可以更快的速度导出,我们在建设数据仓库时就是用我的程序来作接口来导数据的. 如何并行: export select * from acct_item where 第一部分 export select * from acct_item where 第二部分 export select * from acct_item where 第三部分 ... |
| Law 回复于:2002-11-17 19:20:15 |
| 但是oracle服务器是电信的计费系统的,我们不能去碰它阿,我们只有在客户端做。export好像是db2的命令,oracle也有? |
| loufangxin 回复于:2002-11-18 10:02:39 |
| 用我给你的程序,那个EXPORT是我自已做的 |
| Law 回复于:2002-11-18 15:21:27 |
| 你给我的是限制版本阿,我不能连到oracle |
| loufangxin 回复于:2002-11-19 11:35:15 |
| 通过ODBC连接吧,效率还可以的 |
| Law 回复于:2002-11-20 11:50:15 |
| 大哥,能不能给一个破解版阿 |
| loufangxin 回复于:2002-11-20 16:22:08 |
| 我从周一下午开始,已经从远程数据库中导出2亿条通话记录,准备通过60K/S的数度下载导出的文件,然后用SQLLDR导入导ORACLE中。 |
| Law 回复于:2002-11-20 17:38:55 |
| 呢怎么导的,用什么方法?? |
| loufangxin 回复于:2002-11-22 12:37:54 |
| 我用的就是这个工具,我在HPUX上同时启动90个进程,9个地区,每个地区并行导出10天的话单,用了一个晚上就将所有的约二亿条话单导出了,用SQLLDR约半个小时能导入1000万条记录,因为要先解压文件. |
| Law 回复于:2002-11-22 14:54:31 |
| 2亿条话单文本文件有多大? 你那个工具还可以阿,不错的,能不能给出一个破解版,可能不走odbc速度还要快点! |
| loufangxin 回复于:2002-11-22 15:29:39 |
| 分成了270个文本文件,然后用批处理来进行LOAD。 |
| loufangxin 回复于:2002-11-22 15:30:25 |
| 你有没有试试ODBC连接的速度? |
| Law 回复于:2002-11-22 23:16:43 |
| 我试过,导入cust表200万用了30分钟,我还有一个忙向让你帮帮,在另外一个帖子上 叫:帮我看看这个建库的语句错在哪里了? |
| loufangxin 回复于:2002-11-23 15:43:44 |
| 速度和网速很有关系的,最好和服务器有100M的连接,同时可以将大表分成几个部分导出。 |
| Law 回复于:2002-11-24 17:30:15 |
| 另外帖子的问题我已经解决了。 你的qq是多少阿,我们以后可以在qq上讨论阿!!qq:4416408 还有一个问题。我在hp-ux上建立了一个用户ipd,我用ipd登陆上去后,运行db2,结果显示他怎么提示sh: db2: not found 是不是建立用户的时候还要和db2关联什么? |
| loufangxin 回复于:2002-11-25 08:58:56 |
| 肯定是环境变量的问题,另外公司规定上班时不能用QQ,我们用的是AIM。 |
| roamer 回复于:2002-11-25 13:18:45 |
| Oracle那边可以这样做: 因为PRO*C支持数组操作,可以从数据库中把一定数量的记录(我测试10000条性能比较告)读入一个数组中,然后把数组中的记录写到文本文件中。 性能比SPOOL高很多。 |
| Law 回复于:2002-11-25 21:43:28 |
| 环境得问题已经解决了,你知道怎么设置c得编译环境?也就是.h文件的路径问题 |
| loufangxin 回复于:2002-11-26 09:22:32 |
| 你的速度有多少?对于字段比较少的表我的速度可以达到7000/6个字段/每秒 include $oracle_home/precomp/public lib $oracle_home/precomp/lib/msvc |
| roamer 回复于:2002-11-26 11:12:26 |
| [这个贴子最后由roamer在 2002/11/26 11:13am 编辑] HP L2000, 37个字段,负载及IO正常,阵列存储,40000/s |
| loufangxin 回复于:2002-11-26 11:41:55 |
| 好快啊,我在普通机器上试的,你的程序能做成Dynamic SQL Type 4吗,就是比较通用的。我用JAVA编写的,通用性很好,可以连接很多种数据库,但速度不尽人意,运行时占用系统资源很历害。 |
| loufangxin 回复于:2002-11-26 11:50:19 |
| 40000条记录/秒的速度不可思议. |
| Law 回复于:2002-11-26 12:35:09 |
| 我在hp-unix下面运行 bldapp sqlc dwdb db2inst1 ibmdb2 可是提示不能找到很多.h文件,要怎么设置才能找到? |
| roamer 回复于:2002-11-26 13:12:32 |
db2装载可以有10万/s,s690. 引用内容下面引用由loufangxin在 2002/11/26 11:50am 发表的内容: 40000条记录/秒的速度不可思议. |
| Law 回复于:2002-11-26 13:42:31 |
| 可以,我在pc serv上一个硬盘,就达到了20000/s,今天我得同事在pc sever上hp LH 6000 上用oracled和业务系统得oracle库到库得导表,1300万,用了4分三十秒,弄得我db2好没有面子阿, 那为大哥知道relations connect的最大速度可以是多少 |
| loufangxin 回复于:2002-11-26 13:51:23 |
| 这说明JAVA的程序还不太实用. |
| Law 回复于:2002-11-26 21:41:39 |
| 经过测试,我导数据db2表到表1300 用了3分20秒 |
| Law 回复于:2002-11-26 21:48:10 |
| 错错了,是1300万,差点侮辱了db2的名声 |
| loufangxin 回复于:2002-11-27 09:01:38 |
| 程序能做成通用的吗?即用SQLDA来取得动态SQL的结果? |
| Law 回复于:2002-11-27 11:48:55 |
| 什么程序? sql语句的返回值在sqlca.sqlcode 类型long |
| zhanglinwen 回复于:2002-11-27 18:42:23 |
| 我知道用datastage工具可以做到这一点。我们就做过,速度是:4000行/s |
| loufangxin 回复于:2002-11-27 20:08:55 |
| 现在还需要我的JAVA程序吗? |
| Law 回复于:2002-11-28 13:28:58 |
| 你的java有没有破解版? |
| loufangxin 回复于:2002-11-28 13:51:50 |
| 有的,速度也不能和PRO*C比,我正在想办法将速度提高一倍的办法。 |
| Law 回复于:2002-11-28 17:10:49 |
| 好的,看能不要能做个通用的导数据的很快的 |
| loufangxin 回复于:2002-11-28 18:06:26 |
| 速度很难调高,主要是慢在JDBC的记录FETCH上。 在PIII 1.1G上的速度是2400/20/S,生成文件的速度是20M/分钟 在P IV 1.6G上的速度是4000/20/S,生成文件的速度是36M/分钟 (分别在笔记本上试的速度,IBM T23和IBM R32) 不知道这个速度能否完成要求。 |
| mrprogram 回复于:2002-11-28 18:08:58 |
| 推荐使用PB的管道工具 |
| loufangxin 回复于:2002-11-28 19:34:16 |
| 有多快? |
| Law 回复于:2002-11-28 22:35:20 |
| 是不是只要走ODBC就慢?? |
| loufangxin 回复于:2002-11-29 09:04:20 |
| 我没有走ODBC,也就这个速度。 |
| Law 回复于:2002-11-30 20:17:12 |
| 他们走oracle到oracle1300万条就只用了4分钟阿 |
| loufangxin 回复于:2002-12-10 17:33:17 |
| 我只能将速度提高2.5倍,在二十个字段的情况下,我用P IV的机器上做试验,达到了10000/s |
| Law 回复于:2002-12-10 21:58:55 |
| hha ,你是用什麽导出的?? |
| loufangxin 回复于:2002-12-11 09:05:48 |
| 就是用改进后的JAVA工具 |
| Law 回复于:2002-12-11 12:03:12 |
| 能不能把那个java工具发给我?dl-door@163.com |
| loufangxin 回复于:2002-12-11 12:27:39 |
| 在FTP的JSQL中,没有带任何JDBC驱动,请自已找 |
| loufangxin 回复于:2002-12-11 12:29:11 |
| sun jre 1.3以上,帮忙测试一下 |
| loufangxin 回复于:2002-12-11 12:30:02 |
| 必须将各字段显式地转换为字符类型. |
| maxb 回复于:2003-07-18 12:34:31 |
| 这位仁兄,这工具很有用,能否也给我一份,先谢拉.maxb@ln139.com.cn |
| maxb 回复于:2003-07-18 12:38:54 |
| 这位仁兄,这工具很有用,能否也给我一份,先谢拉.maxb@ln139.com.cn |




引用内容
