环境描述:

redhat6.4 64位+oracle 11.2.0.4 RAC


问题描述:前两天临时接到通知,说数据库出问题,让我和谁谁联系。后面连接上数据库发现集群服务是正常的,数据库也是OPEN状态,本地也能正常访问,顿时松了一口气,接着跟业务方联系了解一下,发现是应用程序连接数据库报unable to extend table SYS.AUD$ by 8192 in tablespace SYSTEM,通过sqlplus user/passowrd@service_name错误信息如下:

ORA-00604: error occurred at recursive SQL level 1

ORA-01653: unable to extend table SYS.AUD$ by 8192 in tablespace SYSTEM

ORA-02002: error while writing to audit trail

ORA-00604: error occurred at recursive SQL level 1

ORA-01653: unable to extend table SYS.AUD$ by 8192 in tablespace SYSTEM

上面的错误信息很明显了


解决方式:

    1、给表空间增加数据文件

    alter tablespace system add datafile '+DATA' size 500M

    2、删除aud$表中的数据

    select bytes/1024/1024 from dba_segments where segment_name='AUD$'

    truncate table aud$

    3、 更改aud$表所用表空间

    alter table aud$ move tablespace tablespace_name

    4、修改audit_trail参数    

    alter system set audit_trail='none'  scope=spfile

    invalid value  for parameter audit_trail, must be from among extended, xml, db_extended, false, true, none, os, db


此次是采用第一种方式,给表空间增加数据文件。后面再来处理aud$中的数据