system表空间空间解决(ORA | 您所在的位置:网站首页 › system表空间满了 › system表空间空间解决(ORA |
上午接到开发部门说数据库报错如下: 很明显,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; |
CopyRight 2018-2019 实验室设备网 版权所有 |