WEB开发网
开发学院数据库Oracle DBA需要知道的Oracle 10g的审计内容 阅读

DBA需要知道的Oracle 10g的审计内容

 2007-05-05 12:03:48 来源:WEB开发网   
核心提示: 有一个简单例子演示了这一点,假定我们已在表 CLASS 上为 UPDATE 设置了审计,DBA需要知道的Oracle 10g的审计内容(5),用户发出一条语句以将数据值从 20 更新为 10,然后将其回滚,它还结合了标准审计和 FGA 的跟踪,这使其更易于跟踪数据库访问,如下所示:upda

有一个简单例子演示了这一点。假定我们已在表 CLASS 上为 UPDATE 设置了审计。用户发出一条语句以将数据值从 20 更新为 10,然后将其回滚,如下所示:

update class set size = 10 where class_id = 123;
rollback

现在该列的 SIZE 值将变成 20,而不是 10,好像用户从未做过任何事情。但是,即使回滚,审计跟踪也将捕获该更改。在某些情况下这可能不是人们所想要的,尤其是用户执行了许多回滚时。在这种情况下,您也许不得不使用触发器仅捕获已提交的更改。如果表 CLASS 上有一个触发器用于将记录插入到用户定义的审计线索中,在回滚的基础上审计线索也被回滚。

捕获之前更改的值。 Oracle 提供的审计跟踪不会显示更改前后的值。例如,上述的更改将创建一个审计记录,它显示了语句和更改的 SCN 号,但没有显示更改前的值 (20)。可以使用闪回查询通过 SCN 号获取该值,但是它依赖于在撤消段中可用的信息。如果该信息无法在由 undo_retention 时间段指定的期限内捕获到,就永远不能检索出先前的值来。使用触发器保证了无需依赖于 undo_retention 时间段即可捕获到该值,并且有时很有用。在这两种环境下,您可以决定继续使用触发器以细粒度的级别来记录审计跟踪。

统一的审计跟踪

由于 FGA 和标准审计捕获的是相同类型的信息,当把它们结合起来使用时可以提供许多重要的信息。Oracle 数据库 10g 把这些跟踪合并到一个称为 DBA_COMMON_AUDIT_TRAIL 的通用跟踪中,它是 DBA_AUDIT_TRAIL 视图和 DBA_FGA_AUDIT_TRAIL 视图的一个 UNION ALL 视图。但是,在这两种审计类型之间有一些重大的区别。

结论

在 Oracle 10g 中,审计已经从一个单纯的“操作记录者”成长为一个“事实记录机制”,它能以一个非常详细的级别来捕获用户的行为,这可以消除您对手动的、基于触发器的审计的需要。它还结合了标准审计和 FGA 的跟踪,这使其更易于跟踪数据库访问,而不用考虑它是如何生成的。

上一页  1 2 3 4 5 

Tags:DBA 需要 知道

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接