当我尝试在数据库中插入数据时,我得到以下错误。
ORA-01691: unable to extend lob segment XXXXXX by 8192 in tablespace USERS
我正在使用Oracle数据库(express 12c
版本)。在谷歌上搜索这个错误,我发现这意味着表空间中没有更多的空间,您需要增加数据文件的维度或您正在使用的数据文件的数量。我有5个30gb的数据文件,其中一个是空的,所以我不明白问题是什么。
编辑
SYSTEM 793,19 800 99,15 32768 2,42
SYSAUX 2203,56 2320 94,98 32768 6,72
UNDOTBS1 48,13 23345 0,21 32768 0,15
USERS 153534,5 30720 499,79 30720 499,79
USERS 153534,5 30720 499,79 30720 499,79
USERS 153534,5 30720 499,79 30720 499,79
USERS 153534,5 30720 499,79 30720 499,79
USERS 153534,5 30720 499,79 30720 499,79
粘贴下面的结果
select d.tablespace_name "TS",
(select round(sum(s.bytes/(1024*1024)),2)
from dba_segments s
where (s.tablespace_name = d.tablespace_name)
group by s.tablespace_name) "Used",
round(d.bytes/(1024*1024)) "FSize",
round((select sum(s.bytes/(1024*1024))
from dba_segments s
where s.tablespace_name = d.tablespace_name
group by s.tablespace_name)*100/(d.bytes/(1024*1024)),2) "% Used",
round(maxbytes/(1024*1024)) "MAX FSize",
round((select sum(s.bytes/(1024*1024))
from dba_segments s
where (s.tablespace_name = d.tablespace_name) AND (d.AUTOEXTENSIBLE = 'YES')
group by s.tablespace_name)*100/(maxbytes/(1024*1024)),2) "% Used of MAX" from dba_data_files d;
每个表空间(一个逻辑实体)映射到一个或多个操作系统文件(即使在原始设备上或某些安装上的不同设备上)。一个文件只能属于一个表空间。
如果您有多个表空间,那么您可能在其他表空间中有很多空闲空间,但您可能不会使用它。
您可以扩展数据文件或更改表索引所在的表空间。
您的特定错误与lob(即blob或clob)有关;可能你正在插入很多/大的二进制对象来填充表空间;您可以在不同的表空间中"分配"lob段。
如果你只是在试验,我建议放大数据文件,见这里的说明