IBM DB2 中是否有任何方法可以获取自特定时间戳以来已更改(更新/添加/删除)的表列表?
我面临的问题是我在 7 月 25 日从实时数据库服务器的一个盒子中恢复了一个备份,并在启用功能包的同时更新了这个恢复的数据库。现在实时数据库服务器已经改变,因为客户正在访问它,我无法恢复最新的备份,因为 box1 有一些附加表/数据。
所以我想知道自上次备份以来已更改的表列表,以便我可以手动更新这些表。请帮忙。
IBM DB2 中是否有任何方法可以获取自特定时间戳以来已更改(更新/添加/删除)的表列表?
我面临的问题是我在 7 月 25 日从实时数据库服务器的一个盒子中恢复了一个备份,并在启用功能包的同时更新了这个恢复的数据库。现在实时数据库服务器已经改变,因为客户正在访问它,我无法恢复最新的备份,因为 box1 有一些附加表/数据。
所以我想知道自上次备份以来已更改的表列表,以便我可以手动更新这些表。请帮忙。
如果您使用的是 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
但是,这些都不会显示已删除的表,因为它们在被删除时会从系统目录中删除。
我宁愿建议删除触发器记录表的删除操作发生的详细信息。