无法在表空间 PSTEMP 中将临时段扩展 16
Posted
技术标签:
【中文标题】无法在表空间 PSTEMP 中将临时段扩展 16【英文标题】:Unable to extend temp segment by 16 in tablespace PSTEMP 【发布时间】:2017-02-09 16:20:39 【问题描述】:出现此错误的查询已经运行了 6 个月,并且运行良好。今天由于某种原因给了我这个错误:
由于 SQL 错误,运行查询时出错,代码=1652,消息=ORA-01652:无法在表空间 PSTEMP (50,380) 中将临时段扩展 16。
我不想扩展“PSTEMP”文件。查询不应该是问题,因为我提到它直到现在都运行良好。
我不知道这是否有帮助,但查询有提示值,如果我输入错误的值,它可以正常工作,但是当我输入上周的值时,我知道它应该返回 16 行,但我得到了上面的错误。
【问题讨论】:
欢迎来到 SO。请阅读How to Ask,并显示minimal reproducible example。 用尽(临时)空间并不一定意味着您的查询有问题。但我几乎可以保证,现在数据库的状态与 6 个月前不同;更多数据(可能)、不同数量的用户、不同的使用模式等。再次运行查询很有可能会起作用。或者不。 【参考方案1】:你可以检查你的临时空间
SELECT * FROM dba_temp_free_space;
但尽管有错误消息,它可能不一定是 temp。
检查您的表空间可用空间:
select a.tablespace_name,sum(a.tots/1048576) Tot_Size,
sum(a.sumb/1048576) Tot_Free,
round(sum(a.sumb)*100/sum(a.tots),2) Pct_Free,
sum(a.largest/1024) Max_Free,sum(a.chunks) Chunks_Free
from
(
select tablespace_name,0 tots,sum(bytes) sumb,
max(bytes) largest,count(*) chunks
from dba_free_space a
group by tablespace_name
union
select tablespace_name,sum(bytes) tots,0,0,0 from
dba_data_files
group by tablespace_name) a
group by a.tablespace_name
order by pct_free;
【讨论】:
【参考方案2】:很可能,随着基础数据的增长,您的 SQL 变得过于繁重。您可以尝试优化 SQL,或者如果这不是一个选项,请让 DBA 增加撤消表空间 (PSTEMP)。
【讨论】:
以上是关于无法在表空间 PSTEMP 中将临时段扩展 16的主要内容,如果未能解决你的问题,请参考以下文章
ORA-01652: 无法在表空间 TEMP 中将临时段扩展 128,但有 500GB 可用
ORA-01652 - 无法在表空间中将临时段扩展 4096 (oracle 10)
ORA-01652: 无法在表空间 TEMP 中将临时段扩展 128 - 这是可恢复的吗?
Pentaho Spoon 转换抛出:ORA-01652:无法在表空间 TEMP 中将临时段扩展 128