用AWK实现DB2 数据库 Schema的同步
2007-05-20 16:19:51 来源:WEB开发网3、 由模型组或者数据库管理员发布数据库修改的通知,各成员采用本文所描述的方法,根据SIT数据库最新的SCHEMA,用PC机上的数据同步数据库。这种方法采用本文提供的SHELL程序,可以比较快的完成,其中仅需要较小的人工干预。并且,这种方法也能保持单元测试环境中数据的延续性。
本文说明如何实现第三种方法,完成DB2数据库的同步。
本文所使用的环境为:
SIT环境:AIX UNIX 5.1、DB2 8.1。
单元测试环境:Windows XP、DB2 8.1 for Windows、cygwin。
本文使用如下约定:
数据库的名称为cusgadev。
旧数据库SCHEMA文件的名称为cusold.sql。
新数据库SCHEMA文件的名称为cusnew.sql。
输出的卸出SCHEMA有改变的表的数据的SQL脚本文件名称为unload.sql。
DB2数据库SCHEMA同步步骤
1、从SIT环境中取得最新的数据库SCHEMA。
2、从单元测试环境取得旧数据库的SCHEMA。
3、在单元测试环境,用db2move命令卸出旧数据库的数据。
4、比较两个版本的异同。
5、如果没有任何表的SCHEMA发生了改变,则执行第7步。
6、如果有表的SCHEMA发生了改变,则执行:
用新的表结构创建一个临时表;
生成insert into transtmptbl (...) select ... from 的SQL;
将临时表中的数据导出到文件中;
删除临时表;
用新的数据替换第3步导出的指定表的数据文件,然后执行第7步。
7、取得新SCHEMA的表空间名称。
8、重建数据库。
9、有选择的将新库中独有的表的数据导入到本地新数据库中。
10、检查数据库的完整性。
以下,我们详细说明这些步骤。
从SIT环境中取得最新的数据库SCHEMA。在SIT环境中,执行以下命令:
更多精彩
赞助商链接