获取自20120801185856时间戳后特定时间戳以来已更改的db2表列表

时间:2012-08-02 10:54:31

标签: db2 database-restore

IBM DB2中是否有任何方法可以获取自特定时间戳以来已更改(更新/添加/删除)的表列表?

我面临的问题是我已经在7月25日从一个实时数据库服务器恢复了一个备份,并在启用功能包时更新了这个恢复的数据库。现在,实时数据库服务器已经更改,因为客户正在访问它,我无法恢复最新的备份,因为box1有一些附加表/数据。

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

2 个答案:

答案 0 :(得分:5)

如果您使用的是DB2 for 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

但是,这些都不会显示已删除的表,因为它们在被删除时会从系统目录中删除。

答案 1 :(得分:0)

我宁愿建议删除触发器在表格中记录表格删除操作的详细信息。