第一步、开启审计
1、查看审计功能是否开启(本机已经开启,如果audit_sys_operations值为FALSE就是没开审计)
SQL> CONN /AS SYSDBA
SQL> show parameter audit
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
audit_file_dest string F:\APP\ADMINISTRATOR\ADMIN\ORCL\ADUMP
audit_sys_operations boolean TRUE
audit_trail string DB_EXTENDED
如果没有使用下面语句更改:
SQL> alter system set audit_sys_operations=TRUE scope=spfile;--审计管理用户(以sysdba/sysoper角色登陆)
SQL> alter system set audit_trail=db_extended scope=spfile;
2、重启实例
SQL> shutdown immediate;
SQL> startup
3. 设置审计信息
SQL>AUDIT ALL BY ACCESS WHENEVER NOT SUCCESSFUL
4. 查询AUD$
SQL> select returncode, action#, userid, userhost, terminal,timestamp
from aud$
其他相关操作
1、将审计相关的表移动到其他表空间
由于AUD$表等审计相关的表存放在SYSTEM表空间,因此为了不影响系统的性能,保护SYSTEM表空间,最好把AUD$移动到其他的表空间上。可以使用下面的语句来进行移动:
sql>connect / as sysdba;
sql>alter table aud$ move tablespace ;
sql>alter index I_aud1 rebuild online tablespace ;
SQL> alter table audit$ move tablespace ;
SQL> alter index i_audit rebuild online tablespace ;
SQL> alter table audit_actions move tablespace ;
SQL> alter index i_audit_actions rebuild online tablespace ;
2、关闭审计功能
SQL> conn /as sysdba
SQL> show parameter audit
SQL> alter system set audit_trail = none scope=spfile;
重启实例
3、创建新用户并赋予改用户查询审计信息的权限
drop user shenjiyuan cascade; ---删除已存在用户
create user shenjiyuan identified by shenjiyuan; ----创建新用户
grant connect,resource to shenjiyuan; -----赋予新用户连接权限
grant select on sys.aud$ to shenjiyuan; -----赋予新用户查询审计信息
grant select on sys.dba_fga_audit_trail to shenjiyuan ----赋予新用户查询审计信息