3

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

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

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

4

2 回答 2

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

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

于 2012-08-02T12:54:21.873 回答
0

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

于 2014-06-24T14:30:13.537 回答