DB2数据库的迁移

作者: 黑色礼帽 | 来源:发表于2016-12-14 11:27 被阅读389次

需求说明:不同操作系统平台下,数据库之间的同步。

一、操作系统相同之脱机备份

DB2命令:BACKUP 和 RESTORE 进行备份和还原解决。

--断开连接
db2 force application all  
--备份数据库      
db2 backup database <db_name> to <location>   
--恢复数据库,20161101134642 为备份文件时间戳      
db2 restore database <db_name> from <location> taken at 20161101134642                                

据向下兼容原则,版本相同或者低版本的数据库可以还原在高版本上。

二、操作系统不同,或者源数据库版本较高

DB2 提供了两个非常实用的工具:
★数据迁移工具 db2move
★数据字典获取工具 db2look
以下为Windows 环境迁移到Linux下操作小结:
1、登录Windows>db2cmd,使用 db2move 命令将源数据库(TEST)数据导出至指定的文件夹D:\db2move 下:

D:\db2move>db2move TEST export -u db2inst1 -p 123456 

ps:另可以将导出操作限制在特定的表(-tn)、表空间(-ts)、表创建者(-tc)、表模式 (-sn)的范围内。
-- db2move TEST export -sn test -u db2inst1 -p 123456(密码)
-- 将test模式下的所有数据导出。

执行成功后会显示 Disconnecting from database ... successful!

2、使用 db2look 命令将数据库结构(DDL文件) 导出至指定的文件夹D:\db2look下:

D:\db2look> db2look -d TEST -e -a -o db2look_TEST.sql

ps:参数说明:
-d 为指定数据库,必须参数
-e 抽取数据库对象的DDL,必须参数
-a 所有用户和模式,(-u test01 可以指定用户, -a 和 -u 都没有时默认当前登录用户)
-o 指定输出文件名称

3、将db2move和db2look文件上传至Linux系统下:
4、Linux下db2用户登录,同步数据结构,载入数据:

★更新表结构:

su - db2inst1:
password:123456  
db2inst1@localhost:~/db2back/db2look> db2 -tvf db2look_TEST.sql

★装载数据:

db2inst1@localhost:~/db2back/db2move> db2move TEST load 

操作顺利的话,数据已迁移至linux>db2。要注意几个问题:
★关于表模式

关于表模式,Windows下面默认用户db2admin ,默认表模式也是db2admin ,而linux下面的默认用户是db2inst1 表模式也是db2inst1,
所以需要做以下处理:
D:\DBBack\CNAS\db2look\TEST\db2look_TEST.sql里面的db2admin字符全部替换成db2inst1
D:\DBBack\CNAS\db2move\TEST\db2move.lst 也做同样的操作

★CHECK表状态,修改暂挂状态的表

在db2move过程中会有些表因为检查约束可能会处于暂挂状态,需要执行SET INTEGRITY命令来恢复它的暂挂状态。
可以从系统表中检索处于检查暂挂状态的表信息 Select tabname from syscat.tables where status='C' ---暂挂状态的表信息
对暂挂的表执行

set integrity for usertbl ALLOW NO ACCESS immediate checked       

★遗漏的表

导出的时候,可能会有个别表的数据丢失,这时候只能对相应的表执行db2move命令重新load了,如果还是不行就重建表再load
load单个表的命令

db2 load from tab11.ixf of ixf terminate into db2admin.tablename  --tab11.ixf对应的是tablename表

相关文章

  • 数据迁移方案

    最近着手设计手机充值和流量充值两个项目的数据库迁移,是由db2迁移至mysql。现在将方案记录下来。 整个迁移方案...

  • DB2数据迁移至MySql思路记录

    思路一 先迁移数据结构,再导入数据 优点:思路清晰缺点:操作繁琐适用:小数据迁移 操作大致流程如下: db2数据库...

  • Module-DB2技术文档

    DB2技术文档 tags: DB2 2017年 数据库 安装部署 参考链接: Linux下DB2数据库安装过程详解...

  • DB2数据库的迁移

    需求说明:不同操作系统平台下,数据库之间的同步。 一、操作系统相同之脱机备份 DB2命令:BACKUP 和 RES...

  • 坑爹的ibatis

    最近,因为工作的需要,将项目所使用的数据库由db2迁移至mysql。期间遇到了几个坑爹的问题。故在此记录,可提醒自...

  • Linux下DB2数据库安装教程

    最近因为工作需要在学习DB2数据库,本教程讲解DB2数据库在inux下的安装步骤。 安装前请查看DB2版本和许可证...

  • Pro*Cobol如何访问DB2和Oracle数据库

    Pro*Cobol访问DB2和Oracle数据库的一个简单例子。 访问DB2 SAMPLE.sqb makefil...

  • DB2的备份(backup)和恢复(RESTORE)数据库方法

    一、备份(backup)数据库 1、离线全备份 1)、首先确保没有用户使用DB2: db2 list applic...

  • 数据库面试速记指南|附思维导图【乐搏TestPRO】

    常见的关系数据库: 数据库系统 所属公司 Oracle Oracle DB2 IB...

  • 数据库

    数据库的介绍 数据库从大到小分类:① 大型数据库 Oracle Db2② 中型数据库 sqlserver③ 小型数...

网友评论

    本文标题:DB2数据库的迁移

    本文链接:https://www.haomeiwen.com/subject/frkimttx.html