BI项目查询报了一个这样的错误,SYSTEM表空间无法拓展,导致逻辑SQL无法执行。
在检查表空间的利用率,及查看应用段的表空间占用大小之后,确定是审计日志过大造成的。
--查看占用system表空间最多的前十个应用段
select * from (select bytes/1024/1024,segment_name,segment_type,owner from dba_segments where tablespace_name ='SYSTEM' order by bytes desc) where rownum < =10;
Oracle审计日志开启的作用在于记录每一个会话中的数据连接操作,通过下面的语句可以查看sys.AUD$数据表的记录数及记录的内容项
select count(1) from sys.AUD$;
select * from sys.AUD$ where userhost ='WORKGROUP\JESSICA-PC' and rownum <=10;
解决方案:
1. 关闭审计功能(重启数据库之后才能生效):
SQL> alter system set audit_trail=none scope=spfile;
SQL>showdown immediate;
SQL>startup
2. 将AUD$默认表空间由system移出
3. truncate AUD$这张表