oracle11g 默认开启了数据库审计功能,并且会写到数据库中,会引起System 表空间不断增加,所以需要关闭!!!
例如,下图所示:
![](/attachment/201610/14/31393014_14764334115J91.jpg)
此报错,说明表空间system太大已满,进入目录中,可以看到oradata\glis下的SYSTEM01.DBF文件非常大,可能达到了几十个G,这可能是由于oracle11g的审计功能造成的,审计功能会自动保存数据库的每一次操作记录,解决办法就是将审计功能关闭,删掉一些审计记录。
解决办法:
sqlplus / as sysdba;
(注意:如果遇到
sqlplus / as sysdba; 报ora-01031错误,则检查sqlnet.ora(product\11.2.0\dbhome_1\NETWORK\ADMIN这个目录下)是否包含这句:SQLNET.AUTHENTICATION_SERVICES= (NTS),没有的话加上即可!)。
然后查看一下审计日志各用户记录数
SQL> select userid ,count(1) from aud$
group by userid;
USERID COUNT(1)
------------------------------ ----------
BM 2
CTXSYS 8
SYSTEM 29
SCOTT 2
USRGLIS 165479523
DBSNMP 2573262
SYSMAN 59479
已选择7行。
删除日志(删除不是usrglis的记录)
d
elete from aud$ where userid <> ‘USRGLIS’;
commit;
===================================================================================
关闭审计
alter system set audit_trail='NONE'
scope=spfile;
shutdown immediate;
startup;
此时,oracle一切正常!!!
注意:审计日志默认放在 aud$; 可以清空它,但要缩小System 表空间数据文件的大小,是个非常麻烦的事情(我直接把数据库重新做了),以后慢慢再研究。
阅读(3013) | 评论(0) | 转发(0) |