oracle audit文件

Oracle审计功能的简单介绍 一、什么是审计 审计(Audit)用于监视用户所执行的数据库操作,审计记录可存在数据字典表(称为审计记录:存储在system表空间中的SYS.AUD$表中,可通过视图dba_audit_trail查看)或操作系统文件中(由参数audit_file_dest确定文件存储位置)。转报系统默认情况下审计是没有开启的。

b9733e8b4ce3510a8788375d272ef0d9.png

Oracle审计功能的简单介绍

一、什么是审计

审计(Audit)用于监视用户所执行的数据库操作,审计记录可存在数据字典表(称为审计记录:存储在system表空间中的SYS.AUD$表中,可通过视图dba_audit_trail查看)或操作系统文件中(由参数audit_file_dest确定文件存储位置)。转报系统默认情况下审计是没有开启的。

如果打开数据库审计功能,在语句执行阶段产生审计记录。审计记录包含有审计的操作、用户执行的操作、操作的日期和时间等信息。

不管你是否打开数据库的审计功能,以下这些操作系统会强制记录:用管理员权限连接Instance;启动数据库;关闭数据库。

二、oracle数据库审计相关的表安装

90a4801de423b54cb21be77373e1d00c.png

如果做上述查询的时候发现表不存在,说明审计相关的表还没有安装,需要执行以下安装:

2b537d0c10175efe44785689ab79a0d8.png

审计表安装在SYSTEM表空间。所以要确保SYSTEM表空间有足够的空间存放审计信息。安装后要重启数据库。

三、和审计相关的两个主要参数

audit_sys_operations:

默认为false,当设置为true时,所有sys用户(包括以sysdba, sysoper身份登录的用户)的操作都会被记录,audit trail不会写在aud$表中,这个很好理解,如果数据库还未启动aud$不可用,那么像conn /as sysdba这样的连接信息,只能记录在其它地方。

audit_trail:

None:是默认值,不做审计;

DB:将audit trail 记录在数据库的审计相关表中,如aud$,审计的结果只有连接信息;

DB,Extended:审计结果里面除了连接信息还包含了当时执行的具体语句;

OS:将audit trail 记录在操作系统文件中。

四、查看审计功能是否启动

28a603d6809abb57695562ffcc1bf8a6.png

备注:Oracle11g默认情况下,在sys.dba_stmt_audit_opts表中规定了哪些操作会被计入审计。查询此表,可以看到会被记录的操作。实际日志记录在参数文件规定的操作系统文件中。

8b034a3e09fd614a75ef2a19c88bb665.png

五、开始审计

3f63aaa9257118836b5fb4b3a8acf43e.png

dba_audit_trail表中会记录以上操作的审计日志,因为sys.AUD$默认存储的表空间为SYSTEM,为了防止此审计配置导致的SYSTEM占用过大,建议将此表移动到其他大的表空间,并定期删除。

六、撤销审计

SQL> noaudit all on test;

知秋君
上一篇 2024-08-27 19:48
下一篇 2024-08-27 19:12

相关推荐