需求来源:
已经有一个用于生产的安装于AIX下的DB2数据库,基于开发和测试需要,需在另一台运行windows2003的服务器上安装DB2 for windows版本,并需将AIX下的生产数据库(包括数据)复制一份到DB2forwin下。也就是说win下的db2数据库要和aix下的一模一样的,包括基本表,视图,存储过程,触发器,用户自定义函数。
迁移过程:DB2move
一、用 DB2look -d 数据库名 -a -e -l >输出文件的文件名(可给绝对路径):作用时把数据库对象的所有定义导出到文件存放。(如果有主从表关系的话,建议先拿掉主从表约束语不执行,等数据导入完成再重建约束关系)
二、用db2move 数据库名 export :作用是把数据库导出当前目录下。会产生多个文件。有多少个表就多少文件。.ixf .lst 都可以在线执行()
三、拷上两步文件到windwos下。
四、先用db2crt database 数据库名重建数据库(数据库名可以和原来的不一样),并执行db2looK命令产生的脚下本文件。
执行db2look产生的脚下本之前,应先修改文件中表空间和HUAN冲区配置部份。
五、进行db2move文件所在的目录,执行:db2move 数据库名 load(无大对象,不会检查主从表约束关系)
如果数据库中存在大对象则应使用:db2move 数据库名 import
要注意两个数据库的本地编码一至.
有的表导入后会处于暂挂状态,需要用 set integrity进行处理
处理一个暂挂的表 db2 set integrity for table_name immediate checked
处理全部暂挂的表 select 'db2 set integrity for '|| NAME||' immediate checked'
from (select t.NAME from sysibm.systables t where t.CREATOR='USER_NAME' and t.STATUS='C') tt
请注意根据自己的实际情况,替换掉上面语句中相应的词句
aix 迁到 windows
二进制字段
数据导入方法?
阅读(873) | 评论(0) | 转发(0) |