记一次oracle表空间不足的错误


今天在和别人对接报文的时候,发现从昨天开始,报文没有接收成功,仔细看日志发现日志报错了:

 Caused by: java.sql.SQLException: ORA-01691: Lob 段 PAY.SYS_LOB0000092436C00015$$ 无法通过 1024 (在表空间 TS_COSCO_DEFAULT 中) 扩展



查资料原因是:表空间满了。


1.查数据库文件所在位置:

select name from v$datafile;
Select * FROM DBA_DATA_FILES

记一次oracle表空间不足的错误_第1张图片


因为是RAC环境,没找到文件的具体位置。


2.linux服务器上,查看磁盘空间是否满了。



3.查看表空间的是否满了

--查看表空间物理文件的名称及大小 

 SELECT tablespace_name, 
file_id, 
file_name, 
round(bytes / (1024 * 1024), 0) total_space 
FROM dba_data_files 
ORDER BY tablespace_name; 

记一次oracle表空间不足的错误_第2张图片

查看表空间的使用情况 
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 " 

4.查看表空间没有满,想不通是什么问题了,再查表空间自动增长值。

select file_id, tablespace_name,autoextensible, increment_by
from dba_data_files where tablespace_name='TS_COSCO_DEFAULT';


    

AUTOEXTENSIBLE为NO, 自动扩展没有开启。

找到问题了,果断开启。

5.开启自动扩展

alter database datafile 6 autoextend on next 20M;

RAC环境下

alter database datafile FILE_ID autoextend on; 默认是 增长8k 多空间。


如果是数据量比较大,扩展的表空间设置大一点,性能会更好一点。

直接设置20M。

开启自动扩展功能语法:
alter database datafile '对应的数据文件路径信息' autoextend on;
关闭自动扩展功能语法:
alter database datafile '对应的数据文件路径信息' autoextend off;


OK, 问题解决.

你可能感兴趣的:(oracle数据库)