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

时间:2008-08-17 13:58:01  来源:互联网  作者|记者:输电线路网  浏览:0  大小:【】【】【
关键词: 存储系统

产品:DB2UDB
平台:跨平台
版本:V8.2,V8.3


本文提供了获取DB2数据库表空间前滚恢复操作的所要求最小恢复时间戳记的三种方法。


对于启用了前滚恢复方式(使用归档日志模式)的DB2数据库,如果备份操作是在联机方式下完成的,当需要进行表空间集的恢复操作时,在执行了RESTORE命令之后,还必须执行ROLLFORWARD命令以前滚表空间完成其恢复操作。为保证表空间前滚操作的成功,前滚的时间点必须大于或等于表空间前滚操作所需的最小恢复时间戳记,这里提供了三种获取该时间戳记的方法:

1.当前滚命令所给的时间戳小于最小恢复时间戳记时,前滚命令将无法进行,并提示前滚最小恢复时间戳,如:

db2"rollforwarddbsampleto2005-05-28-12usinglocaltimetablespace(userspace1)"

SQL1275N前滚的停止时间必须大于或等于"2006-05-28-00.23.21.000000",因为节点"0"上的数据库"SAMPLE"中包含比指定时间更新的信息。

该命令的返回信息表明USERSPACE1表空间完成前滚操作的最小恢复时间戳必须大于或等于2006-05-28-00.23.21.000000。由于前滚命令中使用了USINGLOCALTIME,该时间戳记即为本地时间。


2.通过查询SNAPSHOT_TBS_CFG表函数中MIN_RECOVERY_TIME字段的值,返回表空间前滚最小恢复时间戳(为本地时间):

db2"selectsubstr(tablespace_name,1,15)astablespace_name,min_recovery_timefromtable(snapshot_tbs_cfg(''SAMPLE'',-1))asa"

TABLESPACE_NAMEMIN_RECOVERY_TIME
-----------------------------------------
SYSCATSPACE-
TEMPSPACE1-
USERSPACE12006-05-28-00.23.21.000000
SYSTOOLSPACE2006-05-12-13.02.11.000000

4条记录已选择。

其中USERSPACE1表空间的前滚最小恢复时间戳为“2006-05-28-00.23.21.000000”。


3.通过表空间的快照输出,获取其前滚最小恢复时间戳记(为标准世界时(CoordinatedUniversalTime,UTC)),如:

db2getsnapshotfortablespacesonsample

表空间名=USERSPACE1
表空间标识=2
......
最小恢复时间=2006-05-2716:23:21.000000

将返回的最小恢复时间戳加上8个小时,转换为本地时间戳记,同样为2006-05-2800.23.21.000000,与上述两种方法返回的结果一致。




引用地址:

相关文章