DB2备份与恢复
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 sampleto d:\backup
1.2恢复命令格式:db2 restore db <数据库名> from <目录名>
例:db2 restore db samplefrom 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–idb2inst1–w db2inst1
命令中的参数 –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",共同学习,共同成长!!!
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。