Oracle11g---细粒度审计

前面的语句审计、权限审计以及对象审计等标准审计: 只能发现访问了哪些对象以及由哪个用户访问,而不能知道用户访问了哪个对象中的哪些行哪些列。为此Oracle从9i开始加入了细粒度审计.

  细粒度审计<使得审计变得更为关注某个方面,并且更为精确。可以在访问某些行和列时审计对表的访问,从个极大地减少了审计表的记录数量。

细粒度审计被称为FGA,有dbms_fga的pl/sql程序来实现。
dbms_fga包含了以下4个过程:
add_policy()     添加使用为此和审计列的审计策略。
drop_policy()    删除审计策略
disable_policy() 禁用审计策略,但保留与表或视图关联的策略。
enable_policy()  启用策略。

按照需求创建细粒度审计名为dept_audit的审计如:
begin
	dbms_fga。add_policy(
	object_schema -> 'scott',  对象模式指定为soctt 用户模式
	object_name  -> 'dept',	   对象为dept表
	policy_name  ->'dept_audit', 策略名称
	audit_column ->'deptno',     对应的列
	audit_condition -> 'deptno > 20');  对应列的条件>20,否则不会被审计。
end;
/

[select * from dept where deptno < 20;
select * from dept wheredeptno > 20;
查看细粒度审计信息记录:
select timestamp,policy_name,sql_text from dba_fga_audit_trail;

猜你喜欢

转载自wkf41068.iteye.com/blog/1930660
今日推荐