首页 > 数据库 > Oracle > oracle 11g 系统审计功能
今天看了oracle 11g审计功能,出于学习的目的试试db自带的审计功能,项目上面看到有的维护工程师开启了系统审计日志直接将system系统空间撑爆,数据空间大小达到32G(小文件达到了极限),业务也停了,没办法只能将system表空间在添加一个文件,库才勉强起来。下面演示下,开启库审计,数据库几种审计方式,关闭审计;
数据库环境:oracle 11g 11.2.0.4 for windows 2012 server
1、开启审计
SQL> show parameter audit;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
audit_file_dest string D:\APP\ADMINISTRATOR\ADMIN\ORC
L\ADUMP
audit_sys_operations boolean TRUE
audit_trail string OS
audit_trail none | os | db,EXTENDED(备注:NONE 关闭库审计;os操作系统级别审计,审计日志文件放在操作系统应用日志
中;db数据审计的日志存放在sys.aud$表中;db,extended日志存放在sys.aud$表中,但是包括sql_bind,sql_text信息,知道
执行了什么语句)
例如:
alter system set audit_trail=os scope=spfile;
alter system set audit_sys_operations=true scope=spfile;
sqlplus / as sysdba
audit all;
重启库,listener监听
备注:windows系统安装11g数据库,启用日志审计后,日志并不是存放在audit_file_dest中,而是存放在windows日志中,应用程序日志;

备注:日志显示具体的操作命令,开启审计情况下,一般不审计sys用户的日志,其他用户都审计。
2、审计日志存放在sys.aud$表中情况
audit_trail string DB
alter system set audit_trail=DB,EXTENDED scope=spfile;
sqlplus / as sysdba
audit all;
重启库,listener监听
备注:windows系统安装11g数据库,启用日志审计后,日志并不是存放在audit_file_dest中,而是存放在sys.aud$表中,他会无限制的增大,导致system表空间爆满。可以删除表的记录,对数据库没有影响。
DBA_AUDIT_TRAIL视图 查看具体的审计日志;
删除审计日志数据:delete from audit$;(清除所有的日志表内数据,清除前可以看看表的条目,已经占用空间的大小;删除完成后,有条件也可以收缩表空间的大小)
后面,看看linux下oracle 11g 日志审计启用OS级别时与windows OS级别日志审计的区别。
Yicheng16
22.05.30
-- The End --
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69963467/viewspace-2898053/ ,如需转载,请注明出处,否则将追究法律责任。