1. create folder
su - db2inst1
mkdir dbdata
2. export
cd dbdata
db2move dang export -sn qa -u qa -p passw0rd
3. import
download db2move.lst, modify schema name from QA to DANG
db2move dinfq01u load -u dang -p dang
4. search tables
db2 connect to dinfq01u user dang using dang
db2 "select * from users"
导入之后查询表出现异常
SQL0668N Operation not allowed for reason code "1" on table USERTBL. SQLSTATE=57016
查询当前有哪些表暂挂
db2 "select tabname from syscat.tables where status='C'"
5. set integrity
因为检查约束可能会处于暂挂状态,需要执行SET INTEGRITY命令来恢复
SET INTEGRITY FOR tablename ALL IMMEDIATE UNCHECKED
导出这些表并放到excel处理成下面这种语句保存成sql
="SET INTEGRITY FOR "&TRIM(A1)&" ALL IMMEDIATE UNCHECKED;"
将sql上传到linux执行
db2 -tvf uncheck.sql
可能执行过程中有几张表外键关联导致不成功,再次查询暂挂表,直到没有表暂挂
6. validate