Oracle 审计功能(Oracle10g) • 1、什么是审计 审计(Audit)用于监视用户所执行的数据库操作,审计记录可存在数据字典表(称为审计记录:存储在 system 表空间中的 SYS.AUD$表中,可通过视图 dba_audit_trail 查看)或操作系统审计记录中(默认位置为$ORACLE_BASE/admin/$ORACLE_SID/adump/).。默认情况下审计是没有开启的。 当数据库的审计是使能的,在语句执行阶段产生审计记录。审计记录包含有审计的操作、用户执行的操作、操作的日期和时间等信息。 不管你是否打开数据库的审计功能,以下这些操作系统会强制记录:用管理员权限连接Instance;启动数据库;关闭数据库。 Oracle 审计功能 审计是对选定的用户动作的监控和记录,通常用于: 审查可疑的活动。例如:数据被非授权用户所删除,此时安全管理员可决定对该 数据库的所有连接进行审计,以及对数据库的所有表的成功地或不成功地删除进行审计。 监视和收集关于指定数据库活动的数据。例如:DBA 可收集哪些被修改、执行了多少次逻辑的 I/O 等统计数据。 ORACLE 所允许的审计选择限于下列方面: 审计语句的成功执行、不成功执行,或者其两者。 对每一用户会话审计语句执行一次或者对语句每次执行审计一次。 对全部用户或指定用户的活动的审计。 审计相关的表安装 SQLPLUS> connect / AS SYSDBA SQLPLUS> select * from sys.aud$; --没有记录返回 SQLPLUS> select * from dba_audit_trail; - 没有记录返回 如果做上述查询的时候发现表不存在,说明审计相关的表还没有安装,需要安装。 SQLPLUS> connect / as sysdba SQLPLUS> @$ORACLE_HOME/rdbms/admin/cataudit.sql 审计表安装在 SYSTEM 表空间。所以要确保 SYSTEM 表空间又足够的空间存放审计信息。 安装后要重启数据库 将审计相关的表移动到其他表空间 由于 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 ta...