【问题标题】:Using Oracle Streams to implement audit trails使用 Oracle Streams 实施审计跟踪
【发布时间】:2011-05-12 02:29:04
【问题描述】:

我将使用 Oracle Streams 为高负载系统实现异步审计跟踪功能(用于对重做和归档日志进行日志挖掘)。在我的情况下,审计跟踪不能减慢对我的表集的任何 DML 操作。此外,审核必须包含有关最终用户身份以及修改日期和时间的其他信息。

有人在使用 Oracle Streams 实施审计跟踪方面有经验吗?以这种方式移动是个好主意吗?

是否有任何教程提供有关使用 Oracle Streams 实施审计跟踪的提示和技巧?

【问题讨论】:

  • 您的意思是您正在使用 Oracle Streams 复制您的主数据库,并且您想向目标数据库添加审计跟踪,以免增加源数据库的开销?
  • @kurosch,不,在我的情况下,源数据库和目标数据库将是相同的(我将有单独的审计表)。我将通过使用 Oracle Streams 或任何其他方式来实现审计跟踪功能,但不会增加数据库的开销。 Oracle Streams 看起来是实现该目标的合适工具,但我不确定。
  • Oracle Streams 用于复制 DML,我看不出它在这里如何应用。一种或另一种方式,您需要在表上使用触发器来捕获对其的任何更改并将审计信息写入某处。无论您将其推送到 AQ 以供单独的进程使用和写入,还是只是将记录插入日志表中,最终都会为每个 DML 增加一些(但很少)的开销
  • 哦,等等,你是说你想直接从重做日志建立你的审计线索?
  • @kurosch,是的,我想直接从重做日志构建审计跟踪。在我的情况下,消费者将是异步的,甚至移动到单独的数据库,因此它不应该对审计表上的 DML 操作产生任何影响。我们的想法是避免对这些表进行任何类型的触发器。

标签: oracle plsql audit oracle-streams


【解决方案1】:

Oracle 声称数据库中的审计功能产生的开销微不足道。您是否尝试过将它们作为测试用例来查看它的性能?它不需要表上的任何 DML 触发器。我已经使用它们并且没有明显的差异,但系统资源也没有被最大化。

使用流进行审计听起来可能,但我认为这是一个过于复杂的解决方案。我想您可以使用流将事务复制到另一个数据库,然后在该数据库中使用审计。您仍然需要将 I/O 负载添加到存储重做日志的任何位置。

【讨论】:

    【解决方案2】:

    同意@JOTN。添加 wrt Oracles 流的另一件事是,它在 12c 中已弃用,并被打包/提供为具有单独许可成本的“金门”。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-11-26
      • 2011-08-27
      • 2021-05-21
      • 1970-01-01
      • 2010-11-07
      • 2018-03-20
      • 2012-05-30
      • 2017-06-17
      相关资源
      最近更新 更多