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

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

       

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

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

  一、表空间空间不足

  二、未开启自动增长导致

  三、根据如上报错,可以基本判断是因为审计(AUD$)过大导致SYSTEM表空间不足。SYSTEM表空间主要存储一下数据库动态视图、基表、数据字典等。

 排查及解决方法如下:

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

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

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

三、查看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;

四、清空AUD$表

SQL> truncate table SYS.AUD$;

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

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

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;

 

 

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值