细粒度审计(FGA),是在Oracle 9i中引入的,能够记录SCN号和行级的更改以重建旧的数据,
但是它们只能用于select语句,而不能用于DML,如update、insert和delete语句.
因此,对于Oracle数据库10g之前的版本,使用触发器虽然对于以行级跟踪用户初始的更改是没有吸引力的选择,但它也是唯一可靠的方法
进行数据库审计时会记录已发生的操作,但是不会捕获关于导致操作的语句的信息
细粒度审计 (FGA) 扩展了审计功能,可捕获查询或处理数据的实际 SQL 语句
与标准数据库审计或基于值数据库审计相比,FGA 可将重点审计的范围设置得比较窄
而Oracle10g中FGA功能的增强使其不但能够支持select操作,同时也支持DML操作。在 Oracle 10g 中,
审计已经从一个单纯的“操作记录者”成长为一个“事实记录机制”,它能以一个非常详细的级别来捕获用户的行为,
这可以消除您对手动的、基于触发器的审计的需要。它还结合了标准审计和 FGA 的跟踪,这使其更易于跟踪数据库访问,而不用考虑它是如何生成的
通过细粒度审计我们可以记录:
◆在早上九点到下午六点之间或在星期六和星期日对某个表进行了访问
◆使用了公司网络外部的某个 IP 地址
◆选定或更新了特定列
◆使用了该列的特定值
审计实际是某个会话的server process在进行一些递归SQL的操作,而非依赖某些后台进程,这可以从10046事件观察到。