oracle02002,system表空间空间解决(ORA-00604 ORA-01653 ORA-02002)

上午接到开发部门说数据库报错如下:

50ce3855c48da3a3f84a06b96a4959a5.png

很明显,ORA-01653 unable to extend table”的错误指向SYSTEM表空间不能分配新的空间,并且指向AUD$审计占用了大部分表空间。

发生ORA--01653基本有两种原因:

一、表空间空间不足

二、未开启自动增长导致

三、根据如上报错,可以基本判断是因为审计(AUD$)过大导致SYSTEM表空间不足。

SYSTEM表空间主要存储一下数据库动态视图、基表、数据字典等。

排查及解决方法如下:

一、查看表空间使用率,发现SYSTEM表空间使用率已达到99.7%。

440e8cb17817730dd895b56413384783.png

二、是否开启AUDIT审计功能(Oracle 11g 默认开启审计功能)

SQL> show parameter audit (AUDIT_TRAIL有值时为开启状态)

c3a32e8b2bf42d50b9e70c8ef979c4b7.png

三、查看AUD$基表大小及数据量(发现AUD$表占用了SYSTEM表空间9.3G的空间)

=========从dba_segments中找出占用SYSTEM表空间排名前10的大对象

select * from (select SEGMENT_NAME,sum(bytes)/1024/1024 sx from dba_segments

where tablespace_name='SYSTEM' group by segment_name)

where sx>100 order by sx desc;

c58d1a786e6ba43327aed31183e2681f.png

四、清空AUD$表

SQL> truncate table SYS.AUD$;

c6860ab983c6522aa7d2abb2e7fa2f8e.png

五、再次检查表空间使用率,发现SYSTEM表空间使用率降低为7.7%

4617771dcf74bb22ef7b83b27bc41b38.png

=========建议其他解决方法:

1、Oracle 11g 默认开启AUDIT功能,如SYSTEM表空间自增会不断增大空间使用,所以建议根据业务实际需求开启/关闭AUDIT功能,方法如下。

SQL>alter system set audit_trail=none scope=spfile;

直接使用spfile文件中的审计功能参考audit_trail为none,即关闭审计功能。

执行完后,重启数据库。

启动后查看:

SQL> show parameter audit_trail

2、增加数据文件

SQL>alter tablespace SYSTEM add datafile '/****' size 100m autoextend on next 32m maxsize 1024m;

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值