db2 load数据的遇到的问题与解决办法

本文分享了在使用DB2数据库进行数据加载时遇到的常见问题,包括错误处理、性能优化等方面,并提供了相应的解决策略和实践经验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天在做一个cr的时候,需要迁移一张3k多万的表,很是无奈啊!弄了好长的时间。
步骤是这个样子的:
1.先是查了下原表的row count ,为了以后的校验用
2.将数据export出来
3.在将导出来的数据文件导入目标表里面。
但是导入的过程中数据表空间满了,没办法,做了一遍reorg操作。

select 'reorg table ' || tabschema||'.'||tabname|| ' use tempspace1;' from syscat.tables where tbspaceid=3

再一次进行load数据,但是在这个过程中又出现了问题,临时表空间又满了。
听同事说这样做可能不会用到临时表空间。

db2 connect to targetdb
db2 "declare mycursor cursor database dsspage user db2page using D4rkh4wk for select * from $SCHEMA.$TABLE"
db2 "load from mycursor of cursor replace into $SCHEMA.$TABLE nonrecoverable"
db2 connect reset

但是通过游标这种方法还是会用到临时表空间,最后没有办法,又建了一个表较大的临时表空间,把原来的给删掉了,在删除表空间之前没有产看临时表空间有没有表什么,以后应该注意。
最后在又游标的方式在load一遍数据就可以了。但是我感觉两个库之间用游标这种形式的速度也不是很快,尽管减少了2次io,也没有生成临时的数据文件。但是在一个数据库下,游标这种形式还是很好的。效果很明显!

db2 declare mycursor cursor for select * from tabschema.tabname;
db2 load from mycursor of cursor insert into tabschema.tabname nonrecov
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值