db2 处理linux时间戳,如何获取DB2表空间前滚操作所需的最小恢复时间戳记

产品:DB2 UDB

平台:跨平台

版本:V8.2,V8.3

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

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

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

db2 "rollforward db sample to 2005-05-28-12 using local time tablespace (userspace1)"

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

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

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 -

USERSPACE1 2006-05-28-00.23.21.000000

SYSTOOLSPACE 2006-05-12-13.02.11.000000

4 条记录已选择。

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

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

db2 get snapshot for tablespaces on sample

表空间名 = USERSPACE1

表空间标识 = 2

......

最小恢复时间 = 2006-05-27 16:23:21.000000

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值