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
本文档详细介绍了DB2数据库从创建文件夹、导出数据、导入数据到设置完整性的整个迁移过程,并针对导入后可能出现的表异常问题提供了具体的解决步骤。

4445

被折叠的 条评论
为什么被折叠?



