今天遇到临时表空间满了,报错:
ORA-01652 无法通过128 (在表空间 TEMP中)扩展temp段。
蛋疼,找DBA加了临时表空间,重跑转换程序,好了。
解决办法:加临时表空间(应急);优化程序,减少对temp的使用(后续)。
记录下查询临时表空间的sql,
select *
from (Select a.tablespace_name,
to_char(a.bytes / 1024 / 1024, '99,999.999') total_bytes,
to_char(b.bytes / 1024 / 1024, '99,999.999') free_bytes,
to_char(a.bytes / 1024 / 1024 - b.bytes / 1024 / 1024,
'99,999.999') use_bytes,
to_char((1 - b.bytes / a.bytes) * 100, '99.99') || '%' use
from (select tablespace_name, sum(bytes) bytes
from dba_data_files
group by tablespace_name) a,
(select tablespace_name, sum(bytes) bytes
from dba_free_space
group by tablespace_name) b
where a.tablespace_name = b.tablespace_name
union all
select c.tablespace_name,
解决ORA-01652临时表空间满

本文记录了一次ORA-01652错误的处理过程,该错误源于临时表空间不足。解决方案包括紧急增加临时表空间及后续程序优化减少temp使用。同时,提供了一个用于查询临时表空间使用情况的SQL脚本。
最低0.47元/天 解锁文章
855

被折叠的 条评论
为什么被折叠?



