oracle审计功能的使用
一、orecle审计简介
用于监视用户所执行的数据库操作(insert、update、delete),默认情况下审计未开启,审计记录存储在系统表空间中。 sys.aud$表中,主要的字段如下:字段 | 注释 |
---|---|
username | 登录的用户 |
userhost | 登录的主机 |
timestamp | 时间戳 |
owner | 操作表的所有者 |
obj$name | 操作的表 |
action$name | 做了什么动作 |
sqltext | 具体的SQL |
sqlbind | 回退事务sql |
二、审计级别
1.语句审计:按照语句类型审计SQL语句。
2.权限审计:审计系统权限。
3.模式对象审计:审计特定模式对象上运行的特定语句。(insert,update,delete)
4.细粒度的审计:根据访问对象的内容来审计表访问和权限。(特定字段的值)
三、使用步骤
1.查看是否开启审计功能
进入sqlplus命令窗口,输入show parameter audit;
如果audit_sys_operations=false则表示未开启审计。如下图:
2.开启审计功能
执行如下语句开启审计
1.alter system set audit_sys_operations=TRUE scope=spfile;
2.alter system set audit_trail=db,extended scope=spfile;
注(audit_trail=extended时sys.aud$的sqltext和sqlbind字段记录sql语句,否则的话默认CLOB)
3.重启数据库
shutdown immediate;
startup;
4.再次查看是否开启
输入show parameter audit;
5.查看数据库是否存在sys.aud$表
select * from sys.aud$;
如果表不存在则需要安装,执行如下语句即可
SQL>@$ORACLE_HOME/rdbms/admin/cataudit.sql
四、注意
1.开启审计后sys.aud$表的数据会占用oracle的system空间,影响效率。
2.降低影响效率:
①审计表默认安装在system表空间,可将相关表迁移到其他表空间。
②可以清除sys.aud$表的数据。
③可以扩大system空间.