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