我在Oracle的审计方面需要一些帮助.我们有一个包含许多表的数据库,我们希望能够审计对任何字段中的任何表所做的每个更改.因此,我们希望在此审计中拥有的内容是:
所以我们开始创建触发器,该触发器应该对任何表执行审计,但后来遇到了问题……
正如我之前提到的,我们有很多表,我们不能为每个表创建一个触发器.因此,我们的想法是创建一个主触发器,它可以动态地触发任何触发触发器的表.我试图这样做但完全没有幸运……似乎Oracle限制了触发器环境只是为了一个由代码声明的表而不是像我们想要的那样动态.
您对如何解决此问题或其他任何建议有任何疑问吗?
@H_403_11@@H_403_11@
您不需要编写自己的触发器.
Oracle提供灵活且细粒度的审计跟踪服务.以this document(9i)为出发点.
(编辑:这是同一文档的10g和11g版本的链接.)
您可以进行如此多的审计,以至于它可能是like drinking from the firehose – 这可能会在某些时候损害服务器性能,或者可能会给您留下如此多的审计信息,以至于您无法快速从中提取有意义的信息,和/或您最终会占用大量的磁盘空间.花一些时间考虑一下你真正需要多少审计信息,以及你可能需要多长时间来保存它.要做到这一点,可能需要从基本配置开始,然后在能够获得实际收集的审计跟踪数据量的样本之后对其进行定制.
@H_403_11@