hotmail
作者hotmail·2015-03-31 16:50
软件开发工程师·hotmail

db2数据库表结构迁移与验证

字数 966阅读 2036评论 0赞 0

本文总结了如何从生产环境将表结构、视图、函数、存储过程及触发器等恢复到测试环境的一般方法与验证步骤~
1、  从生产上导出建表空间及建表结构信息

#导出表空间

db2look-d rrzdb -l -o tbspc.sql

#导出表结构

db2look-d rrzdb -Z rrz -e -o table.sql

#导出表名

db2  “select tabname from syscat.tables wheretabscheam=’rrz’ |tee -a tbname.txt

2、  创建数据库

db2"create db rrzdb_ly on /rptly USING CODESET GBK TERRITORY CN"

3、  修改变空间大小并将裸设备调整为文件系统

4、  恢复表空间

db2 -tvf tbspace.sql

5、  恢复表结构

#首先将connect的数据库修改为重定向的数据库名字

db2 -tvf crt_tab.sql|tee1th.log

二、验证是否完整的将库中数据表、函数、视图等导入到验证环境中。
1、  对比表

首先创建t1与t2两个表

db2 "create table t1(name char(100))"

db2 "create table t2(name char(100))"

其中t1存放生产库表名,t2存放恢复后库的表名;
批量将原表的表名字插入t1表中shell脚本:

cat tablist|while read tbname

db2 connect to rrzdb_ly

do

 if [ $tbname ='' ];

 then

   echo "error!!!"

exit 1

 else

 db2 "insert into t1values('$tbname')"

 fi

done
测试库中批量插入脚本同上
对比两个表中的数据差异:

db2 "select * from t1 except all select * fromt2"

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

0

添加新评论0 条评论

Ctrl+Enter 发表

作者其他文章

相关文章

相关问题

相关资料

X社区推广