审核触发器不会为alter table触发,但仅针对dba用户

时间:2016-01-22 10:42:24

标签: sql database oracle triggers audit

您好我在这种情况下,我是DBA,每当我更改一个非空字段添加默认值的表时,审核触发器会在整个地方写入我的用户名(当然,可怜的家伙正在做他的工作)。问题是我们的开发人员不喜欢在审计表上使用我的名字,所以我需要找到解决这种情况的方法...可能用if条件更改触发器?创建第二个,每当我做那种操作时我都会激活它?更好的想法???

1 个答案:

答案 0 :(得分:0)

第一个响应是使用if条件更改触发器。如果权力不关心NULL - 能力在列上发生变化,则不应对其进行审核。

但是,我并不喜欢这个解决方案。审计历史表存在是有原因的。也许还有其他事情发生,例如在进行更改时发出通知。如果是这样,通知的逻辑应该更改而不是审计表。

这类似于编译代码时的警告与错误。更改NULL - 能力仍将存在于审计表中,因此DBA可以在需要时查看更改的完整历史记录。这并不意味着他们应该被告知每一个这样的变化。

注意:这可能需要更改触发器并添加"优先级"或类似于审计表的东西。此级别可用于设置通知。