前段时间安装一台oracle 11G数据库,一直运行比较正常,没想到突然发现system表空变得很大,一看是自增长的,是什么东西占用了system表空呢?上网查了一下,原来在11G中审计是默认开启的,而且是对DB进行审计,反正我也不需要数据库审计,关闭它算了,于是上网找到了关闭数据库审计的方法,怕忘记了,贴到这来。
在转发怎么关闭审计前先讲讲怎么避免默认开启数据库审计,在11G(这里指11GR1,11GR2也差不多)的安装数据库的创建数据库步骤里有一个地方让用户自己选择是否启用新的安全设置,如下图:
好了,现在转发网上找到的关闭数据库审计的方法:
--------------------------转start
1、用oracle用户登录到数据库服务器,执行:
sqlplus '/ as sysdba'
2、取消audit,将初始化参数audit_trail设置为NONE
alter system set audit_trail=none scope=spfile;
3、然后重启数据库.
shutdown immediate;
sqlplus '/ as sysdba'
startup;
4、删除签权数据,oracle用户登录到数据库服务器:
sqlplus '/ as sysdba'
truncate table SYS.AUD$;
-------------------------------转end
另外,如何查看审计是否开启呢?
用show parameter audit_taril,如果value字段不是none说明是开启的。对于value字段意义说明如下:
None:不做审计;
DB:将audit trail 记录在数据库的审计相关表中,如aud$,审计的结果只有连接信息;
DB,Extended:这样审计结果里面除了连接信息还包含了当时执行的具体语句;
OS:将audit trail 记录在操作系统文件中,文件名由audit_file_dest参数指定;
我本来在清了sys.aud$之后想把system表空也缩小一下,没想到用toad检查一下之后,它说只能由4.5G缩到4G,这下怎么办呢?想想怎么办才行。待续。。。