Triggers DB2";触发器“;在更新、插入和删除以外的操作上

Triggers DB2";触发器“;在更新、插入和删除以外的操作上,triggers,db2,database-trigger,Triggers,Db2,Database Trigger,在研究了触发器之后,我只提出了一个演示如何更新、插入和删除的方法。这似乎是语法本身的一部分 是否有任何类型的触发器或类似的东西可以让我跟踪一组更大的操作,比如SELECT和altertable 我们(不幸地)与一些团队共享一个数据库,但我们并不完全相信这些团队不会在我们不知情的情况下执行诸如运行疯狂的SELECT语句(锁定数据库)或ALTER TABLE之类的操作。我们希望能够跟踪这些发生的时间以及用户做出的更改 请不要建议我们以某种方式分离数据库。从长远来看,我们正在努力实现这一目标,但我们

在研究了触发器之后,我只提出了一个演示如何更新、插入和删除的方法。这似乎是语法本身的一部分

是否有任何类型的触发器或类似的东西可以让我跟踪一组更大的操作,比如
SELECT
altertable

我们(不幸地)与一些团队共享一个数据库,但我们并不完全相信这些团队不会在我们不知情的情况下执行诸如运行疯狂的
SELECT
语句(锁定数据库)或
ALTER TABLE
之类的操作。我们希望能够跟踪这些发生的时间以及用户做出的更改



请不要建议我们以某种方式分离数据库。从长远来看,我们正在努力实现这一目标,但我们需要在短期内实现这一目标。

您在文章中给出的DB2文档链接指向IBM i。您的数据库是DB2 for i吗

对于IBMi,您可以使用详细的数据库监视器捕获所有SQL语句,包括像ALTERTABLE这样的DDL命令。但是,为所有用户运行详细的数据库监视器会导致性能问题。 我们的情况和你们一样,多个团队使用同一个服务器作为数据库。我们最终编写了自定义用户出口来捕获本例中的所有SQL(带有用户详细信息)

链接到数据库监视器:

Alwaus在寻求帮助时引用您的Db2服务器平台和版本。如果许可证允许,听起来您需要部署WLM。因为SELECT没有触发器。您可以使用监视表函数、DSM等工具或第三方工具查看消耗最多资源的内容,或通过脚本挖掘包缓存。谢谢。我们是《财富》100强公司,所以我确信我们拥有超级豪华许可证。问题是,我的团队不直接控制数据库服务器,因此部署这样的新东西可能很棘手。不过,我会更深入地研究。谢谢。我投票结束这个问题,因为它是一个令人讨厌的信任话题。我们从不希望看到团队之间的信任问题。如果你认为这会使它变得更不合适,我可以删除关于其他团队的部分。这与其说是信任或“憎恨”的问题,不如说是防止每个人都会犯意外错误的问题。我们只是想防止其他团队可能不知道或忘记与我们分享的意外错误。有一些东西,如工作量管理和审计,可以帮助我们做到这一点。研究这些问题并提出一个具体问题。