1、审计的功能
审计是对选定的用户动作的监控和记录,通常用于:
(1)审查可疑的活动。例如:数据被非授权用户所删除,此时安全管理员可决定对该 数据库的所有连接进行审计,以及对数据库的所有表
的成功地或不成功地删除进行审计。
(2)监视和收集关于指定数据库活动的数据。例如:DBA可收集哪些被修改、执行了多少次逻辑的I/O等统计数据。
当数据库的审计是使能的,在语句执行阶段产生审计记录。审计记录包含有审计的操作、用户执行的操作、操作的日期和时间等信息。审计
记录可存在数据字典表(称为审计记录)或操作系统审计记录中。数据库审计记录是在SYS模式的AUD$表中。
2、审计分类:
ORACLE支持三种审计类型:
语句审计,对某种类型的SQL语句审计,不指定结构或对象。
特权审计,对执行相应动作的系统特权的使用审计。
对象审计,对一特殊模式对象上的指定语句的审计。
ORACLE所允许的审计选择限于下列方面:
审计语句的成功执行、不成功执行,或者其两者。
对每一用户会话审计语句执行一次(by session)或者对语句每次执行审计一次(by access)。
对全部用户或指定用户的活动的审计。
(1)特权用户审计
为了审计特权用户所执行的其他数据库操作,必须设置初始化参数AUDIT_SYS_OPERATIONS
02:39:27 SQL> show parameter audit_sys_operations;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
audit_sys_operations boolean FALSE
(2)数据库审计
默认情况下Oracle不会审计数据库用户的任何操作。如要审计,设置audit_trail
02:41:18 SQL> show parameter audit_trail
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
audit_trail string NONE
3、启用审计(默认不启用)
SQL> show parameter audit
NAME TYPE VALUE
------------------------------------ --------------- ------------------------------
audit_file_dest string /u01/app/oracle/product/10.2.0
/db_1/rdbms/audit
audit_sys_operations boolean FALSE
audit_syslog_level string
audit_trail string NONE(不启用)
09:54:56 SQL> alter system set audit_trail=db scope=spfile;
System altered.
09:55:02 SQL> startup force;
ORACLE instance started.
Total System Global Area 167772160 bytes
Fixed Size 1218316 bytes
Variable Size 83888372 bytes
Database Buffers 79691776 bytes
Redo Buffers 2973696 bytes
Database mounted.
Database opened.
09:55:23 SQL> show parameter audit
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
audit_file_dest string /u01/app/oracle/admin/prod/adump
audit_sys_operations boolean FALSE ――audit_sys_operations=true ,启用对于sys 用户的审计
audit_syslog_level string
audit_trail string DB
09:55:29 SQL>
参数说明:
(1)audit_trail
1)none 不启用audit
2)db 将审计结果放在数据字典里(database),只有dba 可以访问
3)os 将审计结果存放到操作系统的文件里(由audit_file_dest指定的位置)
(2)启用audit ,默认不审计sys用户的action
audit_sys_operations=true ,启用对于sys 用户的审计
4、删除审计跟踪
03:55:04 SQL> delete from sys.aud$;
6 rows deleted.
22:49:41 SQL> SELECT USERNAME,SES_ACTIONS,OBJ_NAME,
22:49:52 2 TO_CHAR(TIMESTAMP ,'YYYY-MM-DD HH24:MI:SS') TIME
22:50:02 3 FROM DBA_AUDIT_TRAIL;
USERNAME SES_ACTIONS OBJ_NAME TIME
------------------------------ ------------------- -------------------- --------------------
SYSTEM AUD$ 2011-03-17 22:49:41
更多oracle视频教程:http://crm2.qq.com/page/portalpage/wpa.php?uin=800060152&f=1&ty=1&aty=0&a=&from=6