免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2299 | 回复: 7
打印 上一主题 下一主题

关于超过2GB大小限制的数据导入导出 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-08-17 11:11 |只看该作者 |倒序浏览
我刚刚接触informix不久,还有很多东西不懂,这里请教各位一个问题:
我需要将一台服务器上面的大表全部转移至另一台同样安装了informix的服务器上面,
一个库表中有将近2000万的数据量,如果直接unload的话,肯定超过2GB的文件大小
(UNIX操作系统本身的文件大小限制),导出操作会不成功。我尝试编写shell用后台
压缩的方式,即边导出边压缩,可以顺利的得到400MB左右的文件。
shell的部分如下:
...
mknod tmp.dmp p
compress <tmp.dmp >;tmp.Z &
echo "unload to tmp.dmp select * from tablename"|dbaccess dbname
...
ftp至另一台服务器上面,按同样的道理后台边解压缩边导入数据。
shell部分如下:
...
mknod tmp.dmp p  
uncompress <tmp.Z >;$tmp.dmp &
echo "load from tmp.dmp insert into tablename"|dbaccess dbname
...
结果却不成功,提示错误:
-846    Number of values in load file is not equal to number of columns.
怀疑可能是解压缩和执行sql语句的速度无法控制,故没有顺利地
读出完整的数据,不知道有什么解决的方法,向各位大虾请教。还有如何将数据直接
分合适大小的文件导出呢(不使用where子句,2000多万数据加上where子句要死人的:))?

论坛徽章:
0
2 [报告]
发表于 2004-08-17 12:05 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
3 [报告]
发表于 2004-08-17 14:02 |只看该作者

关于超过2GB大小限制的数据导入导出

0级备份恢复吧。
字段里的有些特殊字符会被load认为是分隔符,不保险。

论坛徽章:
0
4 [报告]
发表于 2004-08-17 14:43 |只看该作者

关于超过2GB大小限制的数据导入导出

其实我是参考了一篇关于oracle的2GB数据导入导出的文章来做的,oracle用的是imp和exp实现的,而informix采取sql处理的方式就很容易出错,难道informix本身不提供数据导入导出的工具吗?另外,oracle的imp和exp本身也提供了一次导出导入多个文件的方法,我觉得informix肯定也应该具备吧,但却翻遍了资料也没有,真晕啊 :em12:

论坛徽章:
0
5 [报告]
发表于 2004-08-17 14:55 |只看该作者

关于超过2GB大小限制的数据导入导出

Informix提供了很多的
dbload,onload,dbimport,还可以用ontape,onbar。
查一点资料就应该看到吧。
"采取sql处理的方式就很容易出错"要找找是什么原因,我碰到过记录中有字符是分隔符'|',这样的话会报
“结果却不成功,提示错误:
-846 Number of values in load file is not equal to number of columns.”
如果是这种方式就指定其他的分隔符吧。或者是你的数据有问题,一般应用中很少有记录会存放'|'

论坛徽章:
0
6 [报告]
发表于 2004-08-19 16:21 |只看该作者

关于超过2GB大小限制的数据导入导出

数据本身直接从库中导出并压缩过,利用管道实现的,但在导入新库中时不成功,我觉得应该是管道文件读取时没有将完整的一行数据传给unload 语句吧,我不了解uncompress到底在后台是怎么去做的,总之没法控制,所以最后只好放弃这个方法,分批导的数据,如果有哪位仁兄找到解决这个问题的方法就好了,我们就多了一个导出导入大数据量的途径,这个途径速度非常快,尤其是数据量极大的时候更能够体现出来:)

论坛徽章:
0
7 [报告]
发表于 2004-08-20 11:10 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
8 [报告]
发表于 2004-08-21 14:09 |只看该作者

关于超过2GB大小限制的数据导入导出

嗯,有道理
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP