oracle数据库如何开启审计日志,
目录
- 1 审计功能由参数 audit_trail 进行控制
- 2 以 DBA 的身份登陆SQL plus
- 2.1 查看 audit_trail 的值
- 2.2 执行以下语句关闭数据库审计功能
- 2.3 重启数据库
- 2.4 验证审计是否已经被关闭
- 2.5 开启审计功能
- 2.6 删除审计日志
- 3 开启特定用户特定表的审计
- 总结
1 审计功能由参数 audit_trail 进行控制
取值范围及意义如下:
参数取值 说明
- DB (默认)开启审计功能。
- OS 将审计记录写入操作系统的一个文件
- TRUE 开启审计功能。
- FALSE 关闭审计功能。
- NONE 关闭审计功能。
2 以 DBA 的身份登陆SQL plus
以下所有命令均在此模式下执行:
sqlplus / as sysdba
2.1 查看 audit_trail 的值
SHOW PARAMETER AUDIT
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
audit_file_dest string /data/app/oracle/admin/orcl/ad
ump
audit_sys_operations boolean TRUE
audit_syslog_level string
audit_trail string DB
根据查询结果可知
已经开启数据库审计功能
2.2 执行以下语句关闭数据库审计功能
ALTER SYSTEM SET AUDIT_TRAIL='NONE' SCOPE=SPFILE;
2.3 重启数据库
shutdown immediate; startup;
2.4 验证审计是否已经被关闭
show parameter audit_trail NAME TYPE VALUE audit_trail string FALSE
说明:
- VALUE值为FALSE
- 表面审计功能为关闭的状态
2.5 开启审计功能
alter system set audit_sys_operations=TRUE scope=spfile;--审计管理用户(以sysdba/sysoper角色登陆) alter system set audit_trail=db,extended scope=spfile;
最后重启服务即可开启。
2.6 删除审计日志
当已形成很对日志时,可删除里面的记录,目前是直接删除,未对数据库造成影响。
- 查询目前的日志信息:select * FROM SYS.AUD$;
- 删除已有的审计信息:DELETE FROM SYS.AUD$;
- 或者快速删除表信息:truncate table SYS.AUD$;
一般建议部署完oracle后如不用审计功能,即关闭以节省空间。
3 开启特定用户特定表的审计
select * from dba_audit_object --查看日志是否生成 AUDIT ALL ON "c##zhangsan".TEST2 by ACCESS;设置特定用户特定表审计 AUDIT ALL BY "c##zhangsan" BY ACCESS; AUDIT ALL ON "c##zhangsan".TEST2; select * from DBA_OBJ_AUDIT_OPTS --查询那些用户开户审计功能 AUDIT UPDATE ON SCOTT.EMP; AUDIT DELETE ON SCOTT.EMP by ACCESS; AUDIT UPDATE ON ROOT.TEST2;
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持PHP之友。
您可能感兴趣的文章:- Oracle审计日志快速设置
- Oracle11g audit审计配置全过程
- Oracle数据库审计功能详解(简单易懂!)
- Oracle 细粒度审计(FGA)初步认识
- Oracle 11G数据库审计监控设置指南
本站文章为和通数据库网友分享或者投稿,欢迎任何形式的转载,但请务必注明出处.
同时文章内容如有侵犯了您的权益,请联系QQ:970679559,我们会在尽快处理。