ORA-00604,ORA-01653,ORA-02002

碰到问题:plsql登录时不能登录,提示以下错误,

    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 : 递归sql级别1出现错误

ora-01653 : 在表空间SYSTEM中表SYS.AUD$无法通过8192扩展

ora-02002 : 写入审计跟踪时报错(审计跟踪(audit trail),是系统活动的流水记录

此时已经不能正常登录数据库,只能登录数据库服务器来解决。

问题原因:SYSTEM表空间不足。

查看问题方法:

    1.因为plsql已经不能登录,不知道dba用户的密码,所以只能登录数据库服务器以DBA用户进行操作。我这里为Linux服务器,具体指令如下:

            export ORACLE_SID=本地实例名

            sqlplus / as sysdba

    2.执行以下sql:

select db.file_name, db.tablespace_name, db.bytes/1024/1024, free.bytes/1024/1024 
from dba_data_files db, dba_free_space free 
where db.tablespace_name = free.tablespace_name 
and db.file_id = free.file_id 
and db.tablespce_name = 'SYSTEM';

查看数据文件名称,表空间名,表空间大小,已使用大小。对查询结果不再进行展示。我的剩余大小为0.8M。

解决办法:

    解决办法有两种,增加表空间大小或者增加数据文件。

    3.增加表空间大小

alter database datafile '数据文件名称' resize 5120M

    此处数据文件名称在步骤2中已经查出,resize大小看自己硬盘空间,自己控制(不一定是5120M)。

    4.增加数据文件

alter database SYSTEM add datafile '新增数据文件名' size 1024M
autoextend on next 8M maxsize 2048M;

    此处autoextend 可以不设置,仅仅指定size 1024M也是可以的。

你可能感兴趣的:(ORACLE)