首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在DB2数据库中批量导入1000个*.ixf文件

问在DB2数据库中批量导入1000个*.ixf文件
EN

Stack Overflow用户
提问于 2018-06-06 02:52:40
回答 2查看 567关注 0票数 0

我在ubuntu环境中有一个DB2 db。包含所有表的空数据库已存在。现在我想导入1000个相应的*.ixf文件到数据库中。另外,我对每个文件都有一个* .msg文件。

有人知道如何做到这一点吗?谢谢,Jassin

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-06-06 03:34:15

出于速度原因,您不必使用import,而可以使用Db2 load实用程序。只有当您已经知道文件很小并且有足够的事务日志记录容量,或者表存在但不存在索引,并且希望导入操作也创建索引时,才使用导入。

解决方案取决于您的脚本编写技能,以及您希望运行作业的频率。无论使用哪种技术,您都需要知道哪个文件填充了哪个表。

使用shell脚本(例如,使用bash),Db2在Linux上是非常可编程的。这是一项值得学习的技能。

您还可以用perl、python或任何脚本语言编写此类内容的脚本。

最简单(也是最慢)的方法是使用Db2 LOAD实用程序连续注入文件。

更复杂的方法包括并行使用Db2 LOAD实用程序,具体取决于可用的内核数量和可用的I/O带宽。例如,如果您有32个核心,则可能有20个并发加载作业,每个作业都加载一个单独的表,而子任务具有自己的数据库连接。除非您的容器位于具有大量I/O带宽的SAN上,否则这种方法没有任何好处。

无论是串行加载还是并行加载,都应该检查每个命令退出代码,并能够从故障点重新启动,并验证加载的行数是否与每个IXF文件中的行数匹配(包括所有被拒绝的行)。

票数 1
EN

Stack Overflow用户

发布于 2018-06-06 06:19:09

你有第一个文件吗?如果有,那么您可以执行db2move导入或db2move加载,然后RDBMS会将所有这些数据放入数据库中。

ixf文件包含表定义和数据。

msg文件包含有关导出时间的信息。执行db2move导入后,您将使用有关导入的信息重新生成这些文件。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50707096

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档