前滚的最小恢复时间
该时间是系统目录表对表空间或其中表的最后一次更新操作的时间戳记,也就是任何rollforward命令要成功执行必须前滚的一个最小的时间点。这个最小的时间点可以确保表空间和日志与系统目录表中的信息一致。
当对表空间或表空间中的表运行DDL语句时,最小时间点将被更新。
考虑下面这个例子:
使用两种方法确定一个表空间的最小恢复时间:
l list tablespaces show detail
l get snapshot for tablespace on db_name.
如:
db2 => list tablespaces show detail
…
最小恢复时间 = 2012-11-29-07.00.45.000000
…
db2 => get snapshot for tablespaces on test
…
最小恢复时间 = 2012-11-29 07:00:45.000000
此外,SNAPSHOT_TBS_CFG表函数所返回的表的MIN_RECOVERY_TIME字段中的值也为最小恢复时间。例如:
db2 => select substr(tablespace_name,1,15) as tablespace_name,min_recovery_time from table
(snapshot_tbs_cfg('TEST',-1))
TABLESPACE_NAME MIN_RECOVERY_TIME
--------------- --------------------------
SYSCATSPACE -
TEMPSPACE1 -
USERSPACE1 -
SYSTOOLSPACE -
TEST 2012-11-29-15.00.45.000000
SYSTOOLSTMPSPAC -
6 条记录已选择。
这种方法获得的最小恢复时间与前两种不同。前两种方法返回的时间戳使用的时UTC(Coordinated Universal Time,也为GMT),即标准世界时,与“格林威治时间”是一样的,使用此计时方式不用考虑不同时区的问题。而后SNAPSHOT_TBS_CFG表函数返回的时间戳使用的是本机所设时区的本地时间。两种计时方式都可用于DB2前滚命令中的前滚时间戳参数,缺省情况下使用的是UTC方式,如果要使用本地时间戳记,必须在时间戳后加上USING LOCAL TIME选项。
可通过专用寄存器CURRENT TIMEZONE返回本地时间与UTC时间之间的差:
db2 => values(CURRENT TIMEZONE)
1
--------
80000.
这表示它们之间的时差为+8小时,即UTC时间加上8小时即为本地时间
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/25744374/viewspace-750311/ ,如需转载,请注明出处,否则将追究法律责任。