--将包括SQL的审计记录写到数据库的审计路径(SYS.AUD$表),修改此数据库参数,需要重启实例
C:\Users\Administrator>sqlplus / as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on 星期一 6月 20 10:02:42 2016
Copyright (c) 1982, 2010, Oracle. All rights reserved.
连接到:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> SHOW PARAMETER AUDIT_TRAIL
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
audit_trail string DB
SQL> ALTER SYSTEM SET AUDIT_TRAIL=DB,EXTENDED SCOPE=SPFILE;
系统已更改。
SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup
ORACLE 例程已经启动。
Total System Global Area 1068937216 bytes
Fixed Size 2182592 bytes
Variable Size 616563264 bytes
Database Buffers 444596224 bytes
Redo Buffers 5595136 bytes
数据库装载完毕。
数据库已经打开。
SQL> SHOW PARAMETER AUDIT_TRAIL
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
audit_trail string DB, EXTENDED
--对只读用户query和管理员用户system开启语句审计
SQL> AUDIT ALL STATEMENTS BY query BY ACCESS;
审计已成功。
SQL> AUDIT ALL STATEMENTS BY system BY ACCESS;
审计已成功。
--进行测试
--使用query用户进行查询
SQL> select * from scott.emp;
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
---------- ---------- --------- ---------- ------------------- ---------- ---------- ----------
7369 SMITH CLERK 7902 1980-12-17 00:00:00 800 20
7499 ALLEN SALESMAN 7698 1981-02-20 00:00:00 1600 300 30
7521 WARD SALESMAN 7698 1981-02-22 00:00:00 1250 500 30
7566 JONES MANAGER 7839 1981-04-02 00:00:00 2975 20
7654 MARTIN SALESMAN 7698 1981-09-28 00:00:00 1250 1400 30
7698 BLAKE MANAGER 7839 1981-05-01 00:00:00 2850 30
7782 CLARK MANAGER 7839 1981-06-09 00:00:00 2450 10
7788 SCOTT ANALYST 7566 1987-04-19 00:00:00 3000 20
7839 KING PRESIDENT 1981-11-17 00:00:00 5000 10
7844 TURNER SALESMAN 7698 1981-09-08 00:00:00 1500 0 30
7876 ADAMS CLERK 7788 1987-05-23 00:00:00 1100 20
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
---------- ---------- --------- ---------- ------------------- ---------- ---------- ----------
7900 JAMES CLERK 7698 1981-12-03 00:00:00 950 30
7902 FORD ANALYST 7566 1981-12-03 00:00:00 3000 20
7934 MILLER CLERK 7782 1982-01-23 00:00:00 1300 10
已选择14行。
--使用system用户查询query用户的审计记录
SQL> select s.username,
2 s.userhost,
3 s.timestamp,
4 s.owner,
5 s.sessionid,
6 s.action_name,
7 s.sql_text
8 from DBA_AUDIT_TRAIL s
9 where s.username = 'QUERY'
10 and s.timestamp > trunc(sysdate)
11 and owner = 'SCOTT';
USERNAME USERHOST TIMESTAMP OWNER SESSIONID ACTION_NAM SQL_TEXT
---------- ---------- ------------------- ------- ---------- ---------- ---------------------------------------------
QUERY WORKGROUP\ 2016-06-20 10:45:45 SCOTT 480314 SELECT select * from scott.emp
USER-4FU6K
1AC9P
--使用system用户进行测试
SQL> AUDIT ALL STATEMENTS BY zhangwenyuan BY ACCESS;
--使用system用户查询system用户的审计记录
SQL> select s.username,
2 s.userhost,
3 s.timestamp,
4 s.owner,
5 s.sessionid,
6 s.action_name,
7 s.sql_text
8 from DBA_AUDIT_TRAIL s
9 where s.username = 'SYSTEM'
10 and s.timestamp > trunc(sysdate)
11 and lower(sql_text) like '%audit all%';
USERNAME USERHOST TIMESTAMP OWNER SESSIONID ACTION_NAM SQL_TEXT
---------- ---------- ------------------- ------- ---------- ---------- ---------------------------------------------
SYSTEM WORKGROUP\ 2016-06-20 11:07:16 480328 SYSTEM AUD AUDIT ALL STATEMENTS BY zhangwenyuan BY ACCES
USER-4FU6K IT S
1AC9P
SYSTEM WORKGROUP\ 2016-06-20 14:13:24 SYS 480356 SELECT select s.username,
USER-4FU6K s.userhost,
1AC9P s.timestamp,
s.owner,
s.sessionid,
s.action_name,
s.sql_text
USERNAME USERHOST TIMESTAMP OWNER SESSIONID ACTION_NAM SQL_TEXT
---------- ---------- ------------------- ------- ---------- ---------- ---------------------------------------------
from DBA_AUDIT_TRAIL s
where s.username = 'SYSTEM'
and s.timestamp > trunc(sysdate)
and lower(sql_text) like '%audit all%'
--将所有审计记录保存到操作系统文件中,Oracle官方推荐使用这种方法,尤其是在对安全有较高要求的环境中。
SQL> ALTER SYSTEM SET AUDIT_TRAIL=OS SCOPE=SPFILE;
系统已更改。
--AUDIT_FILE_DEST参数指定操作系统审计记录文件的路径。在UNIX系统上,默认的路径是$ORACLE_HOME/admin/$ORACLE_SID/adump。为了更好的性能,可以将AUDIT_FILE_DEST参数设为数据库实例本地的一个单独路径下。
SQL> show parameter AUDIT_FILE_DEST
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
audit_file_dest string E:\APP\ADMINISTRATOR\ADMIN\FLA
ME\ADUMP
--如果要审计SYSDBA和SYSOPER用户的操作,需要将AUDIT_SYS_OPERATIONS参数设为TRUE
SQL> show parameter AUDIT_SYS_OPERATIONS
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
audit_sys_operations boolean FALSE
SQL> alter system set AUDIT_SYS_OPERATIONS=TRUE SCOPE=SPFILE;
系统已更改。
--重启数据库,以使参数生效
SQL> show parameter AUDIT_SYS_OPERATIONS
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
audit_sys_operations boolean TRUE
SQL> SHOW PARAMETER AUDIT_TRAIL
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
audit_trail string OS
--AUDIT_SYSLOG_LEVEL参数决定使用SYSLOG来记录SYS用户和标准的OS审计记录,这个参数只适用于UNIX环境。
[oracle@PGAMEDB ~]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.3.0 Production on Tue Jun 21 16:02:46 2016
Copyright (c) 1982, 2011, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, Oracle Label Security, OLAP, Data Mining,
Oracle Database Vault and Real Application Testing options
SQL> show parameter AUDIT_SYSLOG_LEVEL
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
audit_syslog_level string
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/26506993/viewspace-2120490/
,如需转载,请注明出处,否则将追究法律责任。