审计介绍
oracle审计帮助我们记录用户对数据库的操作,有了审计功能我们可以很方便做如下事情:
1、 在没有源代码的软件中,我们可以查看到软件的各个功能针对数据库的是什么操作;
2、 可以定位用户连接数据库的方式,在数据库的操作有哪些;
3、 如果你想回收某些账号的权限,可通过监测,知道用了哪些权限;
审计说明
审计的记录数据存放有两种方式:
1、存放在数据库中,通过aud$或者dba_audit_trail视图中,在system表空间下,因此注意system表空间的使用情况;如果你查看表不存在说明审计的表还没有安装,需要手动安装如下:
SQL> @$ORACLE_HOME/rdbms/admin/cataudit.sql
2、存放在操作系统下,通过参数audit_file_dest查看存放位置,默认是
SQL> show parameter audit_file_dest;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
audit_file_dest string /u01/app/admin/orcl/adump
关于审计默认是开启还是关闭的这个问题,看网上好多文章都是说默认是关闭的,但是我所有的库包括新建的都是开启的(audit_trail=DB)。
不管你的审计是开启的还是关闭的,如下几种操作都是会被记录的:
1、 用管理员身份连接数据库;
2、 关闭数据库;
3、 开启数据库;
注:如果审计是关闭的,这几种情况下的日志记录在audit_file_dest参数文件目录下。
审计参数
和审计相关的参数有以下几个:
SQL> show parameter audit;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
audit_file_dest string /u01/app/admin/orcl/adump
audit_sys_operations boolean FALSE
audit_syslog_level string
audit_trail string NONE
audit_file_dest 如果采用操作系统存放审计记录,此目录是存放记录的路径;
audit_sys_operations 取值true | false,当设置为true时,所有sys用户(包括以sysdba, sysoper身份登录的用户)的操作都会被记录;
audit_syslog_level 这个参数和采用OS存储审计日志有关系,暂时不研究;
audit_tail
AUDIT_TRAIL = { none | os | db [, extended] | xml [, extended] }
none不开启审计
os开启审计,采用操作系统存储记录
db开启审计,采用aud$存储审计记录
db,extended开启审计,采用aud$存储审计记录,并且填充SYS.AUD$表的SQLBIND列和SQLTEXT CLOB列
xml开启审计,采用xml存储审计记录
xml,extended开启审计,采用xml存储审计记录,并且填充SYS.AUD$表的SQLBIND列和SQLTEXT CLOB列