您的位置:首页 > 数据库 > Oracle

oracle表空间不足报错的解决

2016-05-09 17:15 531 查看
连接时报错:

unable to extend table SYS.AUD$ by 8192 in tablespace SYSTEM

这是因为开启了审计日志,造成占用了大量表空间引起的

1、查看表空间使用情况:

SELECT SUM(bytes) / (1024 * 1024) AS free_space, tablespace_name

FROM dba_free_space

GROUP BY tablespace_name;

SELECT a.tablespace_name,

a.bytes total,

b.bytes used,

c.bytes free,

(b.bytes * 100) / a.bytes "% USED ",

(c.bytes * 100) / a.bytes "% FREE "

FROM sys.sm$ts_avail a, sys.sm$ts_used b, sys.sm$ts_free c

WHERE a.tablespace_name = b.tablespace_name

AND a.tablespace_name = c.tablespace_name;

发现SYSTEM空间已使用99.8%

查看表空间的参数:

select tablespace_name,file_name,autoextensible from dba_data_files where tablespace_name = 'SYSTEM'

autoextensible 为是否自动扩展

2、先关闭审计日志

查看审计日志设置参数:

show parameter audit;

audit_trail项不为 NONE,说明开启了审计功能,存储位置有DB或OS等

现在的目标是将其设置为NONE

alter system set audit_trail = none scope=spfile;

然后重启实例即可

3、删除审计表数据

把占用的空间找回来:

设计表名为 SYS.AUD$ ,可以delete也可以truncate

建议用truncate,直接解决问题

之后再检查一下表空间使用情况
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: