seemebaby 发表于 2016-11-15 10:21:19

db2 跨平台迁移 From AIX to WINDOWS

1.     db2cmd
2.     cd d:\exportdb
3.     db2 connect to MCT28 user db2inst1 using password
4.     db2look -d MCT28 -l -o 28dbspace.sql -i db2inst1 -w password
5.     db2look -d MCT28 -e -c -o 28db.sql -i db2inst1 -w password
6.     db2move MCT28 export -u db2inst1 -p password
7.     db2 connect reset
8.       在新的要安装数据库的机器上执行,指定数据库目录为D盘:db2 create db EP37MCT on D:
9.       Db2 list db directory 查看“local database directory”
10.   Db2 connect to EP37MCT user devuser using devuser
11.   查看tablespace物理路径:Db2 list tablespace containers for 1
12.   修改99dbspace.sql, 替换””为” /home/db2inst1/db2inst1/NODE0000/EP37/T0000001/”
13.   注意最后一个” Fst2_tsd\cont1” 改为” Fst2_tsd/cont1”
14.   注意:windows环境下文件路径应为:“D:\dir\”,AIX 下为:“/home/db2inst1”
15.   修改99db.sql, 将”EP37”替换成【NewDatabaseName】
16.   将99db.sql分解为3个文件,分别为:a. 创建表及索引的脚本语句99db.sql b.创建外键约束的语句99dbfky.sql(搜索“-- DDL Statements for foreign keys”) c.创建储存过程的脚本语句99dbproc.sql(搜索“-- DDL statements for User Defined Functions”)。(注意:每个sql必须包含connect to 头和commit结尾)
17.   修改dbproc.sql,替换” CREATE ALIAS "DEVUSER "” 为 “CREATE ALIAS "DB2INST1"”(注意:大小写敏感)
18.   修改db2move.lst, 删除所有包括SYSTOOLS的行,如 !"SYSTOOLS"."AM_BASE_TASKS"!tab1.ixf!tab1.msg!
  19.   db2 -tvf 99dbspace.sql >/home/db2inst1/backup/99dbspace.log
20.   db2 -tvf 99db.sql >/home/db2inst1/backup/99db.log
21.   db2move EP37MCT load -lo INSERT >/home/db2inst1/backup/99move.log
  22.   查看move.log,搜索“Check message”,发现有未正确导入数据的表
  23.   windows 远程连接,手工导入24中出错的表。Sql如下
24.   IMPORT FROM "D:\W3_Build_Center\db\backup\091211_db_install_EP37MCT\tab134.ixf" OF ixf modified by generatedignore/identityignore INSERT INTO SONEDBA.CORCUSTIDENTITY;
  25.   db2 -tvf 99dbfky.sql >/home/db2inst1/backup/99dbfky.log
  26.   查看99dbfky.log,如果有foreign key 导入错误,重新生成foreign key
  27.   db2 -tvf 99dbproc.sql >/home/db2inst1/backup/99dbproc.log
  注意:在24步时,可能会发生数据导入不进去的情况,这时候,需要检查表是否被挂起,如果挂起需要解挂, 再执行24步.
  db2 "select 'db2 set integrity for oatest.'||TABNAME||' immediate checked' from syscat.tables where TABSCHEMA='MYSCHEMA' and STATUS='C'"
  
  
  此文章为同事所写,我厚颜无耻的记下,忘不要见怪.
页: [1]
查看完整版本: db2 跨平台迁移 From AIX to WINDOWS