第一部分 说明
1.1 环境说明
DB2逻辑迁移整个文档分为以下几部分:
操作步骤 | 操作内容 |
---|---|
Step 1 | 获取bufferpool的pagesize大小 |
Step 2 | 生产库端创建备份文件目录 |
Step 2 | 导出表数据到备份目录 |
Step 3 | 导出DDL信息到备份文件目录并指定文件 |
Step 4 | 将备份文件传输到目标库中 |
Step 5 | 创建数据库 |
Step 6 | 修改db2look文件(非必要) |
Step 7 | 导入DDL信息 |
Step 8 | 导入数据 |
1.2 环境检查
注意事项如下:
1、确保源端和目标端磁盘空间充足
2、确认传输到目标端后备份文件的权限正常,否则将无法读取
3、确保目标端硬件配置基本和源端保持一致,尤其是内存
第二部分 源端导出工作
2.1 获取bufferpool的pagesize信息
注意记录IBMDEFAULTBP的pagesize信息
$ db2 " select char(bpname,20) as bpname,npages,pagesize from sysibm.sysbufferpools" BPNAME NPAGES PAGESIZE -------------------- ----------- ----------- IBMDEFAULTBP -2 8192 CTROLDBP 2000 8192 CTROLDSY 250 16384 CTROLDTMPBP 1000 8192 DC_TEMPBUF_32K 1000 32768
复制
2.2 创建备份目录
$ mkdir -p /db2backup/ctrold/exp $ cd /db2backup/ctrold/exp
复制
2.3 开始逻辑导出
导出表数据:
$ db2move dbname(数据库名) export
复制
导出DDL语句:
$ db2look -d dbname(数据库名)-l -e -a -o db2look.sql 参数解析: -d:指定数据库名称 -l:生成用户定义的表空间,缓冲池等对象的DDL语句 -e:提取数据库对象的DDL语句 -a:提取用户创建的所有对象的DDL语句 -o:将上述信息输出到指定的文件中
复制
2.4 将备份文件传输到目标端
传输方式不限,如:ftp,scp,sftp等等。注意传输文件的用户身份和接收文件的用户身份,避免因文件权限不足导致操作无法进行
第三部分 目标端操作
3.1 创建数据库
$ db2 create database db_name on target_path pagesize 8192
复制
注:数据库名称和源库保持一致,pagesize和步骤2.1中的IBMDEFAULTBP的大小保持一致
3.2 修改db2look.sql(非必要)
检查db2look.sql文件,观察是否有基于表的物化视图,基于表的同义词等DDL语句出现在创建表的DDL语句之前。如果有则将它们移动到创建表的DDL语句之后,否则将无法创建
$ vi db2look.sql
复制
3.3 开始导入操作
进入到目标端存放备份文件的目录中操作
1、导入DDL信息:
$ db2 -tvf db2look.sql > /db2backup/cdbold/exp/db2look.out
复制
2、导入数据:
$ db2move dbname load > db2move.log
复制
3、检查操作记录是否有未成功的项:
More db2look.out More db2move.log
复制
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
TA的专栏
RMAN备份恢复实战
收录9篇内容
PostgreSQL
收录11篇内容
目录