20200224-DB2 备份与恢复

在这里插入图片描述

整理下16年写的DB2相关文档,换工作以后一直没用过DB2,忘的差不多了。

一 db2 backup/restore 备份和恢复

1.1 备份

db2 backup/restore 备份与恢复只适用于相同操作系统平台的数据库;
命令格式:

db2 backup db < 数据库名 > to < 目录名 >

注:在备份前需断开所有与数据库的连接 , 断开连接后再备份 , 目录名是备份后的文件的存放目录.

例 :

db2 backup database sample to d:\backup

如果数据库正在被使用,可能回报错

SQL1035N  The database is currently in use.  SQLSTATE=57019 

需要停掉服务,用命令:

db2 force application all
db2 backup db sample  to d:\ backup

在这里插入图片描述
在这里插入图片描述

1.2恢复

命令格式:

db2 restore db < 数据库名 > from < 目录名 >

例 :

db2 restore db sample  from d:\ backup

删除原有的 sample 数据库 ( 模拟数据库恢复 )
在这里插入图片描述
在这里插入图片描述 恢复数据库sample

db2 restore db sample from D:\DB2\backup

在这里插入图片描述查看数据库
在这里插入图片描述

二:db2move 备份和恢复

2.1 备份

  1. 首先连接到要导出的数据库上,如本例导出数据库 nctest :
db2 connect to nctest user db2inst1 using db2inst1

其中的参数user 后面跟指定用户, using 后面指定用户的密码,不指定时会使用默认用户进行登录;

2) 使用 db2look 导出数据对象的定义语句

db2look  – d nctest  – e  – o ncdb.sql  –i  db2inst1  – w d b2inst1

命令中的参数 – o 意思是将数据对象的定义导出到指定的文件中;
其中的参数-i 后面跟指定用户, -w 后面指定用户的密码,不指定时会使用默认用户进行登录;

3) 使用db2move 命令导出数据库对象的数据

db2move nctest export  – u db2inst1  – p db2inst1

连接数据库sample
在这里插入图片描述
通过db2look 导出 sample 数据库创建对象的脚本 sample.sql

db2look -d sample -e -o sample.sql -i 用户名 -w 用户密码

在这里插入图片描述在这里插入图片描述
导出数据

db2move sample export -u 用户名 -p 用户密码

在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
sample.sql: 创建数据对象的脚本;
export.out: 数据库导出日志;
db2move.lst: 包括导出的对象名称和各个对象所属的模式;
如果导出时报错 SQL3107W ,需要更改环境变量的字符集

在这里插入图片描述
在这里插入图片描述在这里插入图片描述

在这里插入图片描述

2.2 恢复

将SAMPLE 数据库数据导入到 test 数据库中

db2 create database test

通过db2move 恢复 NC 数据库时,可以根据建库脚本 1.sql ,先进行创建数据库和表空间等操作;
在这里插入图片描述

db2 connect to test user 用户名 using 用户密码

在这里插入图片描述
在这里插入图片描述在这里插入图片描述

a.sql---create_table.sql
b.sql---create_foreign.sql

修改sample.sql 脚本,将脚本中数据库名称,表空间名称更改为实际的名称;
将sample.sql 脚本中创建外键的语句剪切到另一个脚本中 (create_foreign.sql);
如果导入数据时,在没有导入主表数据之前,导入对应外键表数据时会出现错误,所以需要在成功导入外数据后,在进行外键的创建;
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
创建表结构

db2 -tvf a.sql

在这里插入图片描述
在这里插入图片描述
导入数据

db2 test import -io insert -u 用户名 -p 用户密码

在这里插入图片描述

在这里插入图片描述 导入外键约束

db2 -tvf b.sql

在这里插入图片描述

在这里插入图片描述
查看数据
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
欢迎关注我的公众号:IT小Chen

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值