oracle审计日志设置
使用以下语句来更改 audit_file_dest 参数,以将审计日志写入 /audit_logs 目录:
alter system set audit_file_dest='/audit_logs' scope=spfile;
赋予用户组
chown -r oracle:dba /audit_logs
通过sql语句将查询到的语句保存到文件中
select * from dba_audit_trail where action_name like '%sql%' into outfile '/your/path/to/file.csv' fields terminated by ',' optionally enclosed by '"';
oracle 11g 安装后会默认开启数据库审计功能,并且日志保存在 system 表空间中。
导致system 空间越来越大。当表空间已满时,会导致无法连接数据库。
建议数据库安装完成之后将此功能关闭,当需要时候再进行开启。
参数说明
审计功能由参数 audit_trail 进行控制,取值范围及意义如下:
参数取值 说明
- db (默认)开启审计功能。
- os 将审计记录写入操作系统的一个文件
- true 开启审计功能。
- false 关闭审计功能。
- none 关闭审计功能。
查看审计功能是否开启
a)以 dba 的身份登陆sql plus ,以下所有命令均在此模式下执行;
sqlplus / as sysdba
b) 查看 audit_trail 的值
sql> show parameter audit
name type value ------------------------------------ ----------- ------------------------------ audit_file_dest string /data/app/oracle/admin/orcl/ad ump audit_sys_operations boolean false audit_syslog_level string audit_trail string db
根据查询结果可知,已经开启数据库审计功能。
关闭数据库审计功能
a) 执行以下语句关闭数据库审计功能。
alter system set audit_trail='none' scope=spfile;
b) 重启数据库
sql> shutdown immediate; sql> startup;
验证审计是否已经被关闭
sql> show parameter audit_trail name type value audit_trail string false
说明:value值为false,表面审计功能为关闭的状态
开启审计功能
sql> alter system set audit_sys_operations=true scope=spfile;--审计管理用户(以sysdba/sysoper角色登陆) sql> alter system set audit_trail=db,extended scope=spfile; -- 这是将审计数据放入数据库中 sql> alter system set audit_trail='xml' scope=spfile; -- 这是将审计数据放入xml文件中
最后重启服务即可开启。
删除审计日志:
当已形成很对日志时,可删除里面的记录,目前是直接删除,未对数据库造成影响。
查询目前的日志信息:select * from sys.aud$; 删除已有的审计信息:delete from sys.aud$;
或者快速删除表信息:
truncate table sys.aud$;
一般建议部署完oracle后如不用审计功能,即关闭以节省空间。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。
发表评论