今天在和别人对接报文的时候,发现从昨天开始,报文没有接收成功,仔细看日志发现日志报错了:
<span style="font-size:18px;">Caused by: java.sql.SQLException: ORA-01691: Lob 段 PAY.SYS_LOB0000092436C00015$$ 无法通过 1024 (在表空间 TS_COSCO_DEFAULT 中) 扩展
</span>
查资料原因是:表空间满了。
1.查数据库文件所在位置:
select name from v$datafile;
Select * FROM DBA_DATA_FILES
因为是RAC环境,没找到文件的具体位置。
2.linux服务器上,查看磁盘空间是否满了。
3.查看表空间的是否满了
--查看表空间物理文件的名称及大小
<span style="font-size:18px;"> SELECT tablespace_name,
file_id,
file_name,
round(bytes / (1024 * 1024), 0) total_space
FROM dba_data_files
ORDER BY tablespace_name; </span>
查看表空间的使用情况
<span style="font-size:18px;">SELECT SUM(bytes) / (1024 * 1024) AS free_space, tablespace_name
FROM dba_free_space
GROUP BY tablespace_name; </span>
<span style="font-size:18px;">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 " </span>
<img src="https://img-blog.csdn.net/20160329121356576?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
4.查看表空间没有满,想不通是什么问题了,再查表空间自动增长值。
select file_id, tablespace_name,autoextensible, increment_by
from dba_data_files where tablespace_name='TS_COSCO_DEFAULT';</span>
AUTOEXTENSIBLE为NO, 自动扩展没有开启。
找到问题了,果断开启。
5.开启自动扩展
<span style="font-size:18px;">alter database datafile 6 autoextend on next 20M;</span>
RAC环境下
alter database datafile FILE_ID autoextend on; 默认是 增长8k 多空间。
如果是数据量比较大,扩展的表空间设置大一点,性能会更好一点。
直接设置20M。
开启自动扩展功能语法:
alter database datafile '对应的数据文件路径信息' autoextend on;
关闭自动扩展功能语法:
alter database datafile '对应的数据文件路径信息' autoextend off;
OK, 问题解决.