如何在没有性能和可伸缩性问题的情况下审核数据库活

ami*_*itm 6 database oracle performance audit

我需要审计所有数据库活动,无论它是来自应用程序还是通过其他方式发布某些sql的人.因此审计必须在数据库级别完成.有问题的数据库是Oracle.我通过触发器以及Oracle提供的称为细粒度审计的方式查看了这一点.在这两种情况下,我们都启用了对特定表和特定列的审核.但是,当我们使用这些方法中的任何一种时,我们发现性能真的很糟糕.

由于围绕数据隐私的规定,审计是绝对必须的,我想知道在没有显着性能下降的情况下,最好的方法是什么.如果某人具有Oracle特定的相关经验,那么这将有所帮助,但如果不仅仅是围绕数据库活动审计的一般做法也是可以的.

Col*_*ill 1

我不确定这对于生产系统来说是否是一种足够成熟的方法,但我在使用网络流量嗅探器监视数据库流量方面取得了相当大的成功。

将应用程序和数据库之间的原始数据发送到另一台机器,并在那里对其进行解码和分析。

我使用 PostgreSQL,解码流量并将其转换为可以记录的数据库操作流相对简单。我想它可以在任何记录了数据包格式的数据库上工作。

要点是它不会给数据库本身带来额外的负载。

此外,它是被动监控,它记录了所有活动,但无法阻止任何操作,因此可能不完全是您想要的。