跟踪数据库变化的数据

审计(audit):用于监视用户所执行数据库操作,并且oracle会将审计跟踪的结果存放到os文件或数据库中。

oracle11g下默认审计是关闭的,如果想要使用审计,首先要激活审计。

审计参数:audit_sys_operations=TRUE,andit_trail=db或者audit_trail=os

审计表(dba_fga _audit_trail):dba权限可以使用,其他用户需要dba用户授权,语法如下:

SQL>grant select on dba_fga _audit_trail to 用户名;

如何激活审计:

sys权限进入sqlplus,

SQL>show parameter audit_sys_operations;

clip_image002

看到audit_sys_operations参数为false状态,需要激活。

SQL>alter system set audit_sys_operations=TRUE scope=spfile;

SQL>alter system set audit_trail=db scope=spfile;

若是上面设置有效,需要重启数据库

SQL>startup force

SQL> show parameter audit_sys_operations;

SQL> show parameter audit_trail;

clip_image004clip_image006

定义审计的表:

SQL>execute dbms_fga.add_policy(abject_schema=>'用户名',

object_name=>'定义的表名称',policy_name='chk_定义的表名称',

statement_types=>'insert,update,delete');

例如:SQL>execute dbms_fga.add_policy(abject_schema=>'wcen',

object_name=>'emp',policy_name='chk_emp',

statement_types=>'insert,update,delete');

查询审计操作:

SQL> select t.timestamp,t.sql_text from sys.dba_fga_audit_trail t;

取消审计:

语法:

SQL>execute dbms_fga.drop_policy(object_schema=>'用户名',

object_name=>'要取消审计的表名称',policy_name=>'chk_要取消审计的表名称');

例如:SQL>execute dbms_fga.drop_policy(object_schema=>'wcwen',

object_name=>'emp',policy_name=>'chk_emp');

你可能感兴趣的:(数据库)