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 ,以下所有命令均在此模式下执行;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$;
复制代码 或者快速删除表信息:一般建议部署完oracle后如不用审计功能,即关闭以节省空间。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
来源:https://www.jb51.net/database/328387463.htm
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |
|