用SYSAUDITOR审计管理员用户登录 审计有三种状态:
0:关闭审计
1:打开普通审计
2:打开普通审计和实时审计
----查看审计状态
SELECT * FROM V$DM_INI WHERE PARA_NAME='ENABLE_AUDIT';
----打开审计功能
SQL> SP_SET_ENABLE_AUDIT (1);
审计文件存放在数据库的 SYSTEM_PATH 指定的路径
select para_name,para_value from v$dm_ini where para_name='SYSTEM_PATH';
审计文件命名格式为“AUDITGUID创建时间.log”,其中“GUID”为DM 给定的一个唯一值。审计文件的大小可以通过 DM 的 INI 参数 AUDIT_MAX_FILE_SIZE 指定。当单个审计文件超过指定大小时,系统会自动切换审计文件,自动创建新的审计文件,审计记录将写入新的审计文件中。AUDIT_MAX_FILE_SIZE 为动态系统级参数,缺省值为 100M,DBA用户可通过系统过程 SP_SET_PARA_VALUE 对其进行动态修改,有效值范围为 1~4096M
select para_name,para_value from v$dm_ini where para_name='AUDIT_MAX_FILE_SIZE';
sysdba用户执行
SP_SET_PARA_VALUE (1,'AUDIT_MAX_FILE_SIZE',200)
随着系统的运行,审计记录将会不断增加,审计文件需要更多的磁盘空间。在极限情况下,审计记录可能会因为磁盘空间不足而无法写入审计文件,最终导致系统无法正常运行。对这种情况的处理有两种策略,通过设置 DM 的 INI 参数 AUDIT_FILE_FULL_MODE 进行配置。AUDIT_FILE_FULL_MODE 为静态参数,可通过系统过程SP_SET_PARA_VALUE 进行修改,但是修改需要重新启动 DM 数据库服务器才能生效。当将 AUDIT_FILE_FULL_MODE 置为 1 时,将删除最老的审计文件,直至有足够的空间创建新审计文件;当将AUDIT_FILE_FULL_MODE 置为 2 时,将不再写审计记录,默认值为 1。
select para_name,para_value from v$dm_ini where para_name='AUDIT_FILE_FULL_MODE';
对所有用户,对所有用户的登录操作进行记录,不管是否登陆成功:
SP_AUDIT_STMT('CONNECT', 'NULL', 'ALL');
取消
SP_NOAUDIT_OBJECT('CONNECT', 'NULL', 'ALL');
对SYSDBA所有操作进行审计, 不管失败和成功
SP_AUDIT_STMT('ALL', 'SYSDBA','ALL');
所有用户对SYSDBA.test表进行的操作审计:
SP_AUDIT_OBJECT('ALL', 'NULL', 'SYSDBA', 'test', 'ALL');
取消
SP_NOAUDIT_OBJECT
对所有用户所有操作进行审计
SP_AUDIT_STMT('ALL', 'NULL', 'ALL');
审计相关视图
审计设置存放于 DM 字典表 SYSAUDIT 中,进行一次审计设置就在 SYSAUDIT 中增加一条对应的记录:
SELECT * FROM SYSAUDITOR.SYSAUDIT;
审计记录的具体内容存在在V$AUDITRECORDS视图中:
select * from SYSAUDITOR.V$AUDITRECORDS ;