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,直接解决问题
之后再检查一下表空间使用情况
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,直接解决问题
之后再检查一下表空间使用情况
相关文章推荐
- oracle中dbms_jobs(定时器)
- Linux系统(X64)安装Oracle11g完整安装图文教程另附基本操作
- 求教 oracle sql 能不能在条件为空时查询全部数据??纯sql写 谢谢
- Oracle 如何修改列的数据类型
- oracle 查看表所占用的空间大小
- oracle怎么查看某个用户下各个表所占的空间?
- Oracle alert_sid.log属组变为root不影响数据库正常运行
- 在oracle数据库中删除表后,怎样把占用的磁盘空间释放出来?
- 不安装oracle客户端,用plsql连接oracle
- Oracle正在执行和执行过的SQL语句
- Oracle SCN详解
- redaht6.7ssh升级到7.2后oraclerac不能安装
- Oracle账户解锁/锁定
- SQL SREVER, ORACLE数据库连接字符串
- Oracle数据库学习小结(一)
- 不安装oracle客户端,用plsql连接oracle
- Oracle写函数读写日志实例
- oracle 数据库,无效的SCN号错误
- hibernate+quartz,oracle报错ora-12520
- Oracle获取表、表结构的语句