DB2数据库文本方式做数据迁移

教程发布:风哥 教程分类:ITPUX技术网 更新日期:2022-02-12 浏览学习:434

在一台服务器上有可能要把正式用的业务数据库恢复到一个不同版本的测试库,就需要用到DB2的文本方式恢复技术。
正面说下文本方式恢复步骤:
一、在原环境做以下内容
////1、停止应用服务,释放DB2应用链接
db2 force application all
////2、备份数据库
connect to DBNAME
db2 backup db DBNAME online to /patch
////如果脱机备份,关闭数据库归档后
db2 backup db DBNAME to /patch
////3、创建数据导出目录
sh crtdir.sh
////4、export数据文件(要cd到脚本所在目录)
db2 connect to DBNAME
db2 -tvf export.sql >export.log
////5、仔细查看导出日志(export.log),是否有报错,解决出现的问题
???????
////6、cp文件到目标环境
----生成建库脚本
db2look -d DBNAME -z DB2INST1 -u DB2INST1 -e -l -x -o dbcreate.sql;
--生成创建目录脚本
db2 -x "select 'mkdir '||tabname from syscat.tables where UCASE(tabschema)=UCASE('DB2INST1') and type='T' " > crtdir.sh
--生成导入脚本
db2 -x "select 'load from '||tabname||'.ixf of ixf lobs from ./'||tabname||' insert into '||tabname||';' from syscat.tables where UCASE(tabschema)=UCASE('DB2INST1') and type='T' and tabname not like 'VTZ%'" > load.sql
--生成导出脚本
db2 -x "select 'export to '||tabname||'.ixf of ixf lobs to ./'||tabname||' modified by lobsinfile select * from '||tabname||';' from syscat.tables where UCASE(tabschema)=UCASE('DB2INST1') and type='T' and tabname not like 'VTZ%' " > export.sql

二、在目标数据库做以下步骤
1、目标库创建数据库
db2 CREATE DATABASE DBNAME AUTOMATIC STORAGE YES ON /backup/DBNAME USING CODESET UTF-8 TERRITORY CN COLLATE USING SYSTEM PAGESIZE 8192
2、连接到目标库
connect to DBNAME user db2inst1 using db2inst1;
3、设置缓冲池\创建表空间、表
db2 -tvf db.ddl >cretable.log

4、cp export源库文件到目标机器
5、load文件
db2 -tvf load.sql >load.log
6、仔细检查日志文件

本文标签:
网站声明:本文由风哥整理发布,转载请保留此段声明,本站所有内容将不对其使用后果做任何承诺,请读者谨慎使用!
【上一篇】
【下一篇】