Oracle audit_sys_operations参数详解

2014-11-24 02:28:51 · 作者: · 浏览: 4

1 定义

audit_sys_operations审计SYSDBA的活动。默认值是false。相关的审计信息不会记录在aud$中,因为有可能此时数据库还未启动,只能记录在操作系统层面的文件中。默认为false,不意味着没有审计信息,像conn / as sysdba这样的操作仍然会被记录。audit_file_dest参数指定的审计信息的文件夹。

将audit_sys_operations设置成true后,那么做为sysdba或sysoper连接数据库的用户所发布的每条语句都会被写入操作系统的审计中,从而能够给出DBA所进行操作的完整记录。

2 实验

audit_sys_operations设置成true。要重启数据库。

2.1 Select操作

SQL> select * from scott.emp;

[oracle@cent4 adump]$ ll -t

总用量572

-rw-r----- 1 oracle oinstall 1935 10月26 21:39 ora_3600.aud

-rw-r----- 1 oracle oinstall 51892 10月26 21:38 ora_3821.aud

……

[oracle@cent4 adump]$ cat ora_3600.aud

……

Wed Oct 26 21:39:04 2011

ACTION : 'select * from scott.emp'

DATABASE USER: '/'

PRIVILEGE : SYSDBA

CLIENT USER: oracle

CLIENT TERMINAL: pts/1

STATUS: 0

2.2 show parameter操作

SQL> show parameter audit

NAME TYPE VALUE

----------------------------- ----------- ---------------------------------

audit_file_dest string /u01/app/oracle/admin/ltest/adump

audit_sys_operations Boolean TRUE

audit_syslog_level string

audit_trail string DB, EXTENDED

……

Wed Oct 26 21:41:26 2011

ACTION : 'SELECT NAME NAME_COL_PLUS_SHOW_PARAM,DECODE(TYPE,1,'boolean',2,'string',3,'integer',4,'file',5,'number', 6,'big integer', 'unknown') TYPE,DISPLAY_VALUE VALUE_COL_PLUS_SHOW_PARAM FROM V$PARAMETER WHERE UPPER(NAME) LIKE UPPER('%audit%') ORDER BY NAME_COL_PLUS_SHOW_PARAM,ROWNUM'

DATABASE USER: '/'

PRIVILEGE : SYSDBA

CLIENT USER: oracle

CLIENT TERMINAL: pts/1

STATUS: 0

可以从trace中看到,show parameter audit语句而是显示其原始语句,如下:

select name name_col_plus_show_param,

decode(type,

1,

'boolean',

2,

'string',

3,

'integer',

4,

'file',

5,

'number',

6,

'big integer',

'unknown') type,

display_value value_col_plus_show_param

from v$parameter

where upper(name) like upper('%audit%')

order by name_col_plus_show_param, rownum; 、

摘自 小伟专栏