oracle11g 默认开启了数据库审计功能,并且会写到数据库中,会引起System 表空间不断增加,所以需要关闭!!!例如,下图所示:此报错,说明表空间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                                         2CTXSYS                                  8SYSTEM                                 29SCOTT                                   2USRGLIS                         165479523DBSNMP                            2573262SYSMAN                              59479 已选择7行。删除日志(删除不是usrglis的记录)delete from aud$ where userid ‘USRGLIS’;commit;===================================================================================关闭审计alter system set audit_trail='NONE'scope=spfile;shutdown immediate;startup;此时,oracle一切正常!!!注意:审计日志默认放在 aud$; 可以清空它,但要缩小System 表空间数据文件的大小,是个非常麻烦的事情(我直接把数据库重新做了),以后慢慢再研究。
10-09 08:01