关于oracle 11g 审计文件

关于审计:

11g默认启用的审计选项,AUDIT_TRAIL参数的缺省值为DB,表示审计数据将记录在数据库中的SYS.AUD$审计字典基表上。而在Oracle 10g中该参数默认值为none,即不启用审计。Oracle官方宣称默认启用的审计日志不会对绝大多数产品数据库的性能带来过大的负面影响,同时Oracle公司还推荐使用基于OS文件的审计日志记录方式(OS
audit trail files)。

因为在11g中CREATE SESSION将被作为受审计的权限来被记录,因此当SYSTEM表空间因磁盘空间而无法扩展时将导致这部分审计记录无法生成,最终导致普通用户的新会话将无法正常创建,普通用户将无法登陆数据库。在这种场景中仍可以使用SYSDBA身份的用户创建会话,在将审计数据合适备份后删除一部分记录,或者TRUNCATEAUD$都可以解决上述问题。

当AUDIT_TRAIL设置为OS时,审计记录文件将在AUDIT_FILE_DEST参数所指定的目录中生成。全部这些文件均可以随时被删除或复制。

以下权限将对所有用户审计:

SQL> select privilege,success,failure fromdba_priv_audit_opts;

PRIVILEGE                                SUCCESS    FAILURE

---------------------------------------- --------------------

CREATE EXTERNAL JOB                      BY ACCESS  BY ACCESS

CREATE ANY JOB                           BY ACCESS BY ACCESS

GRANT ANY OBJECT PRIVILEGE               BY ACCESS  BY ACCESS

EXEMPT ACCESS POLICY                     BY ACCESS  BY ACCESS

CREATE ANY LIBRARY                       BY ACCESS  BY ACCESS

GRANT ANY PRIVILEGE                      BY ACCESS  BY ACCESS

DROP PROFILE                             BY ACCESS  BY ACCESS

ALTER PROFILE                            BY ACCESS  BY ACCESS

DROP ANY PROCEDURE                       BY ACCESS  BY ACCESS

ALTER ANY PROCEDURE                      BY ACCESS  BY ACCESS

CREATE ANY PROCEDURE                     BY ACCESS  BY ACCESS

ALTER DATABASE                           BY ACCESS  BY ACCESS

GRANT ANY ROLE                           BY ACCESS  BY ACCESS

CREATE PUBLIC DATABASE LINK              BY ACCESS  BY ACCESS

DROP ANY TABLE                           BY ACCESS  BY ACCESS

ALTER ANY TABLE                          BY ACCESS  BY ACCESS

CREATE ANY TABLE                         BY ACCESS  BY ACCESS

DROP USER                                BY ACCESS  BY ACCESS

ALTER USER                               BY ACCESS  BY ACCESS

CREATE USER                              BY ACCESS  BY ACCESS

CREATE SESSION                          BY ACCESS  BY ACCESS

AUDIT SYSTEM                             BY ACCESS  BY ACCESS

ALTER SYSTEM                             BY ACCESS  BY ACCESS

23 rows selected.

当前数据库中的现有的审计记录,LOGNO/LOGOFF为审计create session产生的:

SQL> select action_name,count(*) from dba_audit_trailgroup by action_name;

ACTION_NAME                    COUNT(*)

---------------------------- ----------

LOGOFF BY CLEANUP                    40

LOGON                               460

LOGOFF                              377

ALTER USER                            2

SYSTEM GRANT                         12

ALTER SYSTEM                         10

CREATE PUBLIC SYNONYM                 5

ALTER DATABASE                        2

CREATE DATABASE LINK                  1

DROP PUBLIC SYNONYM                   5

96.216 SYSTEM表空间过大:

96.216中 LOGOFF/LOGOFF分别为2亿多条记录,使用得aud$表大小为80G。

解决方法:

1.当aud$表过大时,可以清除表中的审讯数据:

SQL> truncate table sys.aud$;

2.可以关闭对create session的审讯:

SQL> noaudit create session;

3.关闭数据库的审讯,需要重启数据库:

SQL> alter system set audit_trail=none scope=spfile;

时间: 2024-10-08 19:48:36

关于oracle 11g 审计文件的相关文章

oracle 11g 审计文件 audit

审计文件:记录数据库中的可疑操作:sys的连接和数据库的启动.停止一定会被审计!审计文件的位置:show parameter audit_file_dest 如果审计目录不存在,数据库将无法正常启动!SQL> startupORA-09925: Unable to create audit trail fileLinux-x86_64 Error: 2: No such file or directoryAdditional information: 9925 Oracle 的审计实在是鸡肋,审

Oracle 11g 管理控制文件

oracle数据库控制文件是非常重要的文件,它是数据库创建的时候自动生成的二进制文件,其中记录了数据库的状态信息,主要包括以下内容 ? 数据库的名称,一个控制文件只能属于一个数据库 ? 数据库创建时间 ? 数据文件的名称.位置.联机.脱机状态信息 ? 重做日志文件的名称.位置及归档信息 ? 所有表空间信息 ? 当前日志序列号 ? 最近检查点信息 控制文件在数据库启动的Mount阶段被读取,在数据库启动时首先使用默认规则找到并打开参数文件,在参数文件中含有控制文件的位置信息,打开控制文件后,会通过

oracle 11g参数文件类型及作用

参数文件的分类:spfile:server parameter file二进制格式,脱离文件系统的束缚只能放在server端一致性比较好只能使用sql命令修改spfile的优先级高于pfile命名规则:spfile<sid>.ora & spfile.ora pfile:parameter file文本文件可以放在server端也可以方在client端pfile灵活但是副本太多可以使用文本编辑器直接修改命名规则:init<sid>.ora 参数文件保存的位置:$ORACLE

oracle &nbsp; 11g 诊断文件

show parameter diagnostic_dest; SQL> show parameter diagnostic_dest NAME                     TYPE     VALUE------------------------------------ ----------- ------------------------------diagnostic_dest              string     /opt/oracle/app linux命令查

Oracle 11g数据库的部署

一.前言 最近要准备考试了,准备温习下Oracle数据库的相关知识,那么学习Oracle的前提肯定是部署了,目前主流Oracle版本为11g,那么接下来我们就先来一起看下,如何部署Oracle已经对数据库的监听开启与启动数据库等操作 二.安装Red Hat Enterprise Linux 5.8操作系统的注意事项 安装要求: 防火墙的配置选项:禁用 SElinux配置:禁用 默认安装:软件开发 由于系统部署简单,这里就不再阐述了,有疑问的,麻烦大家自行百度一下! 三.前置条件的准备 Oracl

Oracle 11g 基于CentOS7安装并启动em

1.可以在虚拟机或者服务器上安装centos,具体过程省略,建议使用最小化安装 以root用户登录centos,安装vim.unzip.lrzsz.wget包 yum install vim -y yum install unzip -y yum install lrzsz -y yum install wget -y 2.更新centos内核到最新版本并更换yum源为aliyun源 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/Ce

Oracle 11g 导入dmp文件出现的问题

1.导入命令: imp userId/[email protected] full=y  file=D:\data\T_DAYLOG_CALLANALYSIS.dmp ignore=y 2.导出命令 exp userId/[email protected] file=d:\dkj\test.dmp tables=(wf_test) 如出现:”只有dba才能导入由其他dba导出的文件“的问题 登录该用户:执行SQL: grant dba to testuser ; 如果还不行,再执行: alter

oracle 11g 从 dmp 文件中导出 sql 代码 的方法.

impdp sys/password full=y dumpfile=bg.dmp nologfile=y sqlfile=bg_dmp.sql 备注: bg.dmp 是 dmp 文件,   bg_dmp.sql 是导出来的 SQL  代码.   导出的文件和代码都存放在:oracle 安装目录:  app/oracle/admin/ORCL/dpdump 文件夹下面. oracle 11g 从 dmp 文件中导出 sql 代码 的方法.

oracle数据库备份、还原 (如何将Oracle 11g备份的dat文件导入到10g数据库里面)

如何将Oracle 11g备份的dat文件导入到10g数据库里面 解决方法: 导出的时候后面加上目标数据库的版本号 导出: 在SQL plus下执行:create or replace directory file_path as 'E:\';--创建导出\导入文件存放路径(我的是放在E盘) 在cmd里面执行:expdp 用户名/密码@服务命名  directory=file_path dumpfile=导出数据库文件名.dat  schemas=用户名 logfile=baklog.log