|
原来写了一个利用 db2move 进行 DB2数据库的迁移的帖子,
http://www.itpub.net/thread-534534-1-2.html
后来在实际的使用过程中遇到过几次问题,现在做一下总结,以后大家遇到也有解决办法了。
1、load 的时候可能会由于 log 满的问题,造成记录数过大的时候无法导入,这时这张表的访问可能如下:
D:Work>db2 select * from sales
SQL0668N Operation not allowed for reason code "3" on table "YASIR.SALES".
SQLSTATE=57016
可使用类似
下面的命令把日志文件的大小和日志文件的数量扩充,如下:
db2 update db cfg for DATABASE using LOGFILSIZ 7900
db2 update db cfg for DATABASE using LOGPRIMARY 30
db2 update db cfg for DATABASE using LOGSECOND 20
然后再用类似
DB2 "LOAD FROM EXPORTED_DATA.IXF OF IXF SAVECOUNT 20000 RESTART INTO YASIR.SALES"
重新导入该表
2、如果 db2move dbname load 需要执行第二次的时候,可以使用 db2move dbname load -lo REPLACE 来replace 上次导入的记录,否则有些没有主键的表可能会出现重复记录
3、如果在导出的时候出现类似下面的提示
SQL3132W The character data in column "PRIORITY" will be truncated to size "64".
是因为 codepage 的问题,通过 db2set 设置 db2codepage 和数据库一致,然后重启 instance 就可以了导出了 |
|