Oracle11g下SQL语句报无法通过 128 (在表空间 TEMP 中) 扩展 temp 段。
把SQL中的WMSYS.WM_CONCAT改为listagg,此SQL就没问题了,说还有很多SQL报错。此时我判断现在是个系统的问题。此问题解决方法如下:
1.用下列的SQL判断临时表空间适用情况
select tablespace_name,
max_gb,
used_gb,
round(100 * used_gb / max_gb) pct_used
from (select a.tablespace_name tablespace_name,
round((a.bytes_alloc - nvl(b.bytes_free, 0)) / power(2, 30),
2) used_gb,
round(a.maxbytes / power(2, 30), 2) max_gb
from (select f.tablespace_name,
sum(f.bytes) bytes_alloc,
sum(decode(f.autoextensible,
‘YES’,
f.maxbytes,
‘NO’,
f.bytes)) maxbytes
from dba_data_files f
group by tablespace_name) a,
(select f.tablespace_name, sum(f.bytes) bytes_free
from dba_free_space f
group by tablespace_name) b
where a.tablespace_name = b.tablespace_name(+)
union all
select h.tablespace_name tablespace_name,
round(sum(nvl(p.bytes_used, 0)) / power(2, 30), 2) used_gb,
round(sum(decode(f.autoextensible,
‘YES’,
f.maxbytes,
‘NO’,
f.bytes)) / power(2, 30),
2) max_gb
from v t e m p s p a c e h e a d e r h , v temp_space_header h, v tempspace