db2 v9.7 跨平台迁移

original db2: windows 2008 db2 v9.7

aim db2: SUSE12 SP3 db2 v9.7


图片部分,请在我的资源内下载db2迁移压缩包。

DB2 v9.7 windwos迁移SUSE

Author:Duan Yu 段誉

Mail:[email protected] [email protected]

一、准备以下软件:

                     Winscp  传输文件数据

                notepad++ 更改sql语句、和查看导入是否发生错误

扫描二维码关注公众号,回复: 8813497 查看本文章

2.windows服务器操作:

打开windows命令行:win+R

cmd

C:\Users\Administrator>db2cmd

出现新的控制窗口:如下图注意红色

C:\Users\Administrator>e:

E:\>md db2back    创建备份数据目录

E:\>cd db2back

E:\db2back>md db2look

E:\db2back>md db2move

E:\db2back>cd db2look

E:\db2back\db2look>db2look -d cashdb3 -e-a -o db2look_cashdb3.sql 

cashdb3是数据库名,更改迁移数据库名,查看E:\db2back\db2look目录是否生成了db2look_cashdb3.sql文件

E:\db2back\db2look>cd E:\db2back\db2move

E:\db2back1\db2move>db2move cashdb3 export 

cashdb3是数据库名,更改迁移数据库。查看E:\db2back\db2move是否生成了如下文件:具体查看windows_move图片

 

2.1notepad++操作

只需要修改db2look_cashdb3.sql

修改如下内容,具体查看1_notepad++2_剪切类似的sql语句  图片

需要剪切的内容大概在6029-6099行,把剪切出来的内容放入一个新文件内。

2.2winscp传输到linux服务器

winscp设置传输类型查看winscp_设置图片

winscp查看路径查看 winscp_path 图片

先登录linux服务器执行以下命令:

suse11:~ # mkdir/home/db2inst1/db2back_data

suse11:~ # mkdir/home/db2inst1/db2back_data/db2look_cashdb3

suse11:~ # mkdir/home/db2inst1/db2back_data/db2move_cashdb3

2.2.1上传建库信息:

请先查看3_winscp 图片

将db2look_cashdb3.sql上传至linux /home/db2inst1/db2back_data/db2look_cashdb3

将剪切出来的sql语句创建新的文件上传 /home/db2inst1/db2back_data/db2look_cashdb3

2.2.2上传表数据:

请先查看4_winscp_move 图片

将db2move目录内的文件上传至linux  /home/db2inst1/db2back_data/db2move_cashdb3

Windows 操作完成!!

3.Linux服务器操作:

3.1 库结构导入:

suse11:~ # chmod -R 777 /home/db2inst1/db2back_data/

suse11:~ # su - db2inst1

db2inst1@linux-p91l:~> cd/home/db2inst1/db2back_data/db2look_cashdb3

db2inst1@linux-p91l:~> db2 create dbxxxx    注意查看db2look_cashdb3.sql文件内第9 connect to xxxx 要与xxxx一致

db2inst1@linux-p91l:~> 命令在下面,由于字符过长会导致格式变化

db2 -tvf db2look_cashdb3.sql2>&1> /home/db2inst1/db2look_cashdb3.log

利用winscp下载/home/db2inst1/db2look_cashdb3.log 文件

db2 LIST TABLES FOR SCHEMA think 查看与windows服务器是否表数量对应

无错误进去下一步

3.2 表的数据导入:

db2inst1@linux-p91l:~> cd/home/db2inst1/db2back_data/db2move_cashdb3

db2inst1@linux-p91l:~> 命令在下面,由于字符过长会导致格式变化

db2move CASHDB3 import2>&1> /home/db2inst1/db2move_cashdb3.log

CASHDB3根据create db xxxx 来改变

利用winscp下载/home/db2inst1/db2move_cashdb3.log 文件

使用notepad++ 查看有无报错信息。错误信息请查看 db2move_error 图片

无报错信息进入下一步

3.3将自增约束表添加数据: 大写字符需要根据表名称来改变大概17张表

db2 load from TABX.ixf of ixfmodified by identityoverride replace into THINK.EMPLOYEE1  nonrecoverable

3.4 将库的外键还原:

db2inst1@linux-p91l:~> cd/home/db2inst1/db2back_data/db2look_cashdb3

db2inst1@linux-p91l:~>命令在下面,由于字符过长会导致格式变化

db2 -tvf db2look_cashdb3_key.sql2>&1> /home/db2inst1/db2look_cashdb3_key.log

若无报错进入下一步

4.数据库表数据验证

编写脚本,通过 select count(*)  from 模式.表名 

来对比两个数据库表数据



发布了26 篇原创文章 · 获赞 1 · 访问量 7261

猜你喜欢

转载自blog.csdn.net/chinazzb/article/details/80963853