获得已改变DB2表的名单,因为一个特定的时间戳,因为20120801185856时间戳说(get t

2019-07-30 18:38发布

是否有在IBM DB2什么办法让已经改变表列表(更新/添加/删除的),因为特定的时间戳?

我面临的问题是,我已经从现场DB服务器一个箱恢复7月25日一个备份和更新了这个恢复的数据库,同时启用功能包。 现在直播DB服务器已经改变,因为客户正在访问和BOX1有一些相加表格/ i的数据无法恢复最新的备份。

所以我想知道自上次备份后已经改变了,这样我可以手动更新这些表的表的列表。 请帮忙。

Answer 1:

如果你在DB2用于Linux / UNIX / Windows的,这个查询应该得到你所需要的:

SELECT TRIM(TABSCHEMA) || '.' || TRIM(TABNAME),
       MAX(CREATE_TIME,ALTER_TIME)
FROM SYSCAT.TABLES
ORDER BY 2 DESC

如果你的主机上,这一项应该做你:

SELECT RTRIM(CREATOR) || '.' || RTRIM(NAME),
       MAX(CREATEDTS,ALTEREDTS)
FROM SYSIBM.SYSTABLES
ORDER BY 2 DESC

然而,它们都将显示已删除的表,因为它们可以从系统目录中删除时,他们都将被丢弃。



Answer 2:

我宁愿建议删除触发记录到一个表,在该表的删除操作已发生的细节。



文章来源: get the list of db2 tables which have been changed since a particular timestamp say since 20120801185856 timestamp