关闭 / 开启 Oracle 的审计功能

一、基础环境

      操作系统:Windows 或 Linux

      数据库版本:Oracle Database 11.2.0.1.0  及以上版本

二、解决问题

Oracle 11g 安装后会默认开启数据库审计功能,并且日志保存在 SYSTEM 表空间中。导致SYSTEM 空间越来越大。当表空间已满时,会导致无法连接数据库。建议数据库安装完成之后将此功能关闭,当需要时候再进行开启。

三、参数说明

审计功能由参数 audit_trail 进行控制,取值范围及意义如下:

参数取值 说明
DB (默认)开启审计功能。
OS 将审计记录写入操作系统的一个文件
TRUE 开启审计功能。
FALSE 关闭审计功能。
NONE 关闭审计功能。

四、操作步骤

1、查看审计功能是否开启。

a)以 DBA 的身份登陆SQL plus ,以下所有命令均在此模式下执行;

sqlplus / as sysdba

b) 查看 audit_trail 的值

SHOW PARAMETER AUDIT

c) 查询结果:

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
audit_file_dest                      string      D:\PROGRAMFILES\ORACLE\ADMIN\O
                                                 RCL\ADUMP
audit_sys_operations                 boolean     FALSE
audit_trail                          string      DB

d) 根据查询结果可知,已经开启数据库审计功能。

2、关闭数据库审计功能。

a) 执行以下语句关闭数据库审计功能。

ALTER SYSTEM SET AUDIT_TRAIL='NONE' SCOPE=SPFILE;

b) 重启数据库,以下命令相当于 shutdown abort + startup

STARTUP FORCE

c) 重新执行 1 - c) 的步骤查看 audit_trail 的值。

3、开启数据库审计功能。

a) 执行以下语句开启数据库审计功能。

ALTER SYSTEM SET AUDIT_TRAIL='DB' SCOPE=SPFILE;

b) 重启数据库,以下命令相当于 shutdown abort + startup

STARTUP FORCE

c) 重新执行 1 - c) 的步骤查看 audit_trail 的值。

d) 开启数据库审计功能之后,数据库审计日志保存在 aud$ 里面。我们需要定期清空它。执行以下命令可以清空表 aud

TRUNCATE TABLE SYS.AUD$;

e) 全部操作已完成。

参考资料:

1、http://blog.chinaunix.net/uid-7445427-id-5553029.html

2、https://blog.csdn.net/mittee/article/details/3870109

猜你喜欢

转载自blog.csdn.net/u011046671/article/details/103170398