如何获取DB2表空间前滚操作所需的最小恢复时间戳记?( 转帖)

如题所述

平台:跨平台
版本:V8.2,V8.3
本文提供了获取 DB2 数据库表空间前滚恢复操作的所要求最小恢复时间戳记的三种方法。
对于启用了前滚恢复方式(使用归档日志模式)的 DB2 数据库,如果备份操作是在联机方式下完成的,当需要进行表空间集的恢复操作时,在执行了 RESTORE 命令之后,还必须执行 ROLLFORWARD 命令以前滚表空间完成其恢复操作。为保证表空间前滚操作的成功,前滚的时间点必须大于或等于表空间前滚操作所需的最小恢复时间戳记,这里提供了三种获取该时间戳记的方法:
1. 当前滚命令所给的时间戳小于最小恢复时间戳记时,前滚命令将无法进行,并提示前滚最小恢复时间戳,如:
2. 通过查询 SNAPSHOT_TBS_CFG 表函数中 MIN_RECOVERY_TIME 字段的值,返回表空间前滚最小恢复时间戳(为本地时间):
db2 "select substr(tablespace_name,1,15) as tablespace_name, min_recovery_time from table (snapshot_tbs_cfg('SAMPLE',-1) ) as a"
TABLESPACE_NAME MIN_RECOVERY_TIME
SYSCATSPACE -
TEMPSPACE1 -
4 条记录已选择。
3. 通过表空间的快照输出,获取其前滚最小恢复时间戳记(为标准世界时(Coordinated Universal Time,UTC)),如:
db2 get snapshot for tablespaces on sample
表空间名 = USERSPACE1
表空间标识 = 2
-------------------------------------------------------------------
备注:其实用db2 list tablespaces show detail中也可以看到,是UTC时间。
或者用db2 list history backup all for dbname 可以看出备份情况,用来作为对最小恢复时间戳的参考,之所以说是参考,是因为当对表空间或表空间的表运行ddl语句时,最小时间点将被更新。
另外:补充两个命令的用法:
1. db2ckbkp -h 备份映像文件
--可以用来检查db2数据库备份文件的完整性,还可以查看一些有用信息
--backupmode: 0是脱机备份 1是联机备份
--backup type:0是数据库备份 3 是表空间备份
--backup gran:0 正常备份 16是增量备份 48是差异备份
2. db2ckrst -d dbname -t 时间戳 -r database--用来列出需要增量恢复时的步骤
温馨提示:答案为网友推荐,仅供参考
相似回答