ITPub博客

首页 > 数据库 > 数据库开发技术 > DB2 使用表空间备份恢复库

DB2 使用表空间备份恢复库

原创 数据库开发技术 作者:fjzcau 时间:2015-03-06 20:35:43 0 删除 编辑
假设 数据库 testdb 只包含表空间tbs1,tbs2,tbs3

1)t1 时刻
db2 backup db testdb tablespace(tbs1) to /data

2)t2 时刻
db2 backup db testdb tablespace(tbs2,tbs3) to /data

则重建数据库:
1)db2 restore db testdb rebuild with all tablespaces in database taken at t1
2)db2 rollforward db testdb to end of logs and complete


---使用所有表空间备份重建数据库

1)要进行表空间恢复,所有表空间的备份镜像都必须存在,并存储在历史文件中。
db2 "restore db testdb rebuild with all tablespaces in database taken at 20141204170100"

20141204170100 最近的表空间备份时间戳,只含userspace3 

2)在重建操作期间前滚数据库,最早备份镜像与最近备份镜像之间的所有日志文件都必须存在。
若想前滚到比最近备份更近的时间点上,则这个备份之后的所有日志文件也必须存在。

db2 rollforward db testdb to end of logs and stop


---使用部分表空间备份重建数据库,数据表空间为:userspace1,userspace2,userspace3
20141204165010备份镜像只含userspace1,userspace2

1)恢复userspace1,userspace2
db2 "restore db testdb rebuild with tablespace(syscatspace,userspace1,userspace2) taken at 20141204165010"
或
db2 "restore db testdb rebuild with all tablespces in database except tablespace(userspace3)
taken at 20141204165010 "

2)前滚,userspace3处于restore pending
db2 rollforward db testdb to end of logs and stop
此时,数据库可以连接了。

3)继续restore database,并恢复表空间userspace3
db2 "restore db testdb tablespace(userspace3) taken at 20141204170100 "

4)前滚要恢复的表空间userspace3
db2 "rollforward db testdb to end of logs tablespace(userspace3) "
db2 "rollforward db testdb stop"



--包含日志文件的在线表空间备份重建数据库
假设备份镜像:TEST.3.DB2.NODE0000.CATN0000.20080517135208.001,
要使用表空间备份和存储在备份镜像中的日志恢复数据库,
1)restore database,并指定logtarget选项
db2 "restore db test rebuild with all tablespaces in database taken at 20080517135208
logtarget /logs"

2)前滚
db2 "rollforward db test to end of logs overflow log path (/logs) "

3)停止前滚
db2 rollforward db test stop



--什么是不可恢复数据库?

1)如果一个数据库是不可恢复的,则在重建操作中只能使用一个数据库备份作为目标镜像,
     因为不可恢复数据库没有可用的表空间备份。
2)当恢复完成时,马上可以连接到数据库,不需要前滚。但尚未恢复的表空间都被置于drop pending,且再也不能被恢复。

假设,有一个不可恢复的数据库MYDB有3个表空间:syscatspace,usersp1,usersp2。在20080521130000做了一个全备份。
为了只使用syscatspace和usersp1重建数据库:

db2 "restore db mydb rebuild with tablespace(syscatspace,usersp1) taken at 20080521130000"

恢复完成后,usersp2处于drop pending。若要备份数据库,需先drop tablespace命令删除usersp2。


--重建数据库的限制
1)表空间必须包括syscatspace
2)不能用控制中心图形工具
3)9.1版本之前的目标镜像,镜像必须是离线数据库备份才可以用rebuild选项,且在重建后需迁移数据库。
4)目标镜像必须是一个完整数据库备份,目标镜像与被恢复的数据库才可以在不同的操作系统中使用rebuild选项。


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/22661144/viewspace-1450998/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: 静态路由添加
请登录后发表评论 登录
全部评论

注册时间:2011-04-03

  • 博文量
    208
  • 访问量
    547152