假设 数据库 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/
,如需转载,请注明出处,否则将追究法律责任。