Oracle的审计机制是用来监视用户对ORACLE数据库所做的各种操作。
在缺省情况下,系统的审计功能是关闭的。可以在INIT.ORA参数文件中将参数AUDIT_TRAIL设置为正整数来激活。
审计功能激活后,任何拥有表或视图的用户就可以进行如下审计操作:
·使用SQL语句来挑选审计选择项;
·审计对该用户所拥有的表或视图的成功或不成功的存取企图;
·有选择的审计各种类型的SQL操作(SELECT、UPDATE、INSERT、DELETE);
·控制审计的程度(是以SESSION还是ACCESS为单位)。
8i下
我想对某个用户的dml语句进行审计,
步骤如下:
1,在init文件中添加 AUDIT_TRAIL = DB或者audit_trail=db_extended
2,audit delete table,insert table,update table by zx;
提示 :审计已成功
3,SELECT * FROM DBA_STMT_AUDIT_OPTS;能看到有记录
4,重启数据库服务,以test用户登陆,操作数据
5,查看sys.aud$
create table agile.t(t number);
begin
dbms_fga.add_policy(
object_schema=>'AGILE',
object_name=>'T',
policy_name=>'T_INSERT',
audit_column=>'T',
statement_types=>'INSERT'
);
end;
SQL> insert i44o agile.t values(1);
1 row inserted
SQL> select * from dba_fga_audit_trail;
一次完整的审计:
一。启动审计:
1. alter system set audit_trail=db scope=spfile;
2. shutdown
3. startup
二。设定审计:
audit update,insert
on dqsi.ac01
by access;
三。修改数据:
update ac01 set aac003='赵庆辉' where aac003='张三';
commit;
换了另一台机器:
update ac01 set aac003='王五' where aac003='赵庆辉';
commit;
四。查看审计结果:
SQL> select * from dba_audit_trail;
OS_USERNAME
-----------------------------------
zhaoqh
Administrator
审计不成功的登陆、创建表、删除表、修改表、drop表,及其授权操作。
noaudit all;
noaudit all privileges;
audit session whenever not successful;
audit create any table, delete any table, drop any table, alter any table by access ;
audit table by access ;
audit create user, alter user, drop user by access ;
audit grant table, grant procedure by access;
撤销所有审计:
noaudit all;
noaudit all privileges;
其它的看oracle的随机文档吧!我就不帮你查了!