DB2 备份恢复

1. 离线备份

(1) 备份

db2 backup database mydb1 to '/db2/db2inst2/duanbb/backup'

(2) 恢复

db2 restore database mydb1 from '/db2/db2inst2/duanbb/backup'
(3) 备份目录有多个备份版本,恢复指定的版本
[db2inst2@localhost backup]$ ls
MYDB1.0.db2inst2.DBPART000.20150413143601.001  MYDB1.0.db2inst2.DBPART000.20150413144713.001
db2 restore database mydb1 from '/db2/db2inst2/duanbb/backup' taken at 20150413144713

2. 在线备份

(1) 查看是否开启归档

db2 get db cfg for mydb2

下列两个条件,满足一个即为开启归档

  • "Log retain for recovery status"项 = "RECOVERY"
  • "User exit for logging status" = "YES"

(2) 启用归档日志 (归档到本地)

V9.5之前:

db2 update db cfg for mydb2 using LOGRETAIN ON
V9.5之后:

db2 update db cfg for mydb2 using LOGARCHMETH1 LOGRETAIN


设置归档目录

db2 update db cfg for mydb2 using LOGARCHMETH1 "disk:/home/db2inst1/arch"
这是一个可选操作,不设置这一步,归档日志仍放在在线日志目录下,设置后归档到指定目录


(3) 立即做一次离线备份,使归档生效 

db2 backup database mydb2 to '/db2/db2inst2/duanbb/backup'


(4) 在线备份并备份日志

db2 backup db mydb2 online to '/db2/db2inst2/duanbb/backup' include logs

(5) 在线恢复

db2 restore db mydb2 from /db2/db2inst2/duanbb/backup taken at 20150415134135 LOGTARGET /db2/db2inst2/duanbb/backup/log
db2 rollforward db mydb2 to end of logs and stop 
其中"overflow log path"关键字用于指定归档日志目录,如果不指定,则从数据库的归档目录中前滚日志,例如这样写也是可以的

db2 rollforward db mydb2 to end of logs and stop

当前滚日志找不到归档日志而出错时,数据库处于"roll-forward pending"状态,数据库无法连接,解决方案如下

db2 rollforward db mydb2 stop

在执行restore命令时,也可以指定不前滚日志,命令如下

db2 restore db mydb2 from /db2/db2inst2/duanbb/backup taken at 20150415134135 without rolling forward

其它相关命令
1. 检查备份版本: db2ckbkp -h <备份文件>
2. 启用归档日志用户出口程序: 
    V9.5前: db2 update db cfg for <dbname> using userexit on
    V9.5后: db2 update db cfg for <dbname> using LOGARCHMETH1 userexit
3. 启用增量备份
     db2 update database configuration for <dbname> using trackmod yes
4. 获取备份历史信息
      db2 list history backup all for database <dbname>
5. 有时离线备份总是报"The database is currently in use",重启数据库也不管用
    可能是产生了死锁,通过如下命令解锁,然后再重启数据库备份
db2set DB2_RR_TO_RS=YES

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

duanbeibei

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值