2> 权限审计: 对某一个系统权限的使用状况进行审计。这里强调系统权限()。 a. 使用audit语句定义权限审计语法如下: audit privilege_name [by user_name]| [by session|access] [whenever [not] successful] privilege_name: 表示系统权限名称 user_name: 表示用户名 例如:audit create table 可以表示对涉及creat table 权限的操作进行审计。 b. 使用noaudit语句取消权限审计 如:noaudit alter table by scott; 查看对哪些用户进行了权限Audit select user_name, privilege,success,failure from dba_priv_audit_opts order by user_name;
3> 对象Audit:监视所有用户对某一个对象(表,视图...)的访问情况。对一个特殊模式对象上的DML(Data Manipulation Language)语句进行审计。记录作用在指定对象上的操作。 例如:audit select on scott.dept语句,表示对指定scott用户的dept表,Audit对其进行的select语句。 audit select,update,delete on scott.dept; 设置对象审计 audit schema_object_clause on schema [by session|access] [whenever [not] successful] schema_object_clause: 指定对象访问的类型以及访问对象; schema: 表示所属的用户名,或者所属的用户模式名称。 停止对用户对象进行审计: 使用noaudit 查询对象审计的信息:select username,timestamp,owner,action_name,obj_name from dba_audit_object;
审计相关的视图 dba_audit_trail:保存所有的audit trail,实际上它只是一个基于aud$的视图。其它的视图dba_audit_session,dba_audit_object,dba_audit_statement都只是dba_audit_trail的一个子集。 dba_stmt_audit_opts:可以用来查看statement审计级别的audit options,即数据库设置过哪些statement级别的审计。 dba_obj_audit_opts,dba_priv_audit_opts视图功能与之类似 all_def_audit_opts:用来查看数据库用on default子句设置了哪些默认对象审计。