oracle,当查询的sql数据比较大的时候,会提示> ORA-01652

oracle,当查询的sql数据比较大的时候,会提示> ORA-01652: 无法通过 128 (在表空间 TSP_JHMK_TEMP 中) 扩展 temp 段 。这种情况如何处理?临时数据文件2个g的大小

可以扩展临时数据表空间。参考:https://www.tekstream.com/resource-center/ora-01652-unable-to-extend-temp-segment-in-tablespace/  

--1.查看表空间使用率(包括临时表空间)

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,
               to_char(c.bytes / 1024 / 1024, '99,999.999') total_bytes,
               to_char((c.bytes - d.bytes_used) / 1024 / 1024, '99,999.999') free_bytes,
               to_char(d.bytes_used / 1024 / 1024, '99,999.999') use_bytes,
               to_char(d.bytes_used * 100 / c.bytes, '99.99') || '%' use
          from (select tablespace_name, sum(bytes) bytes
                  from dba_temp_files
                 group by tablespace_name) c,
               (select tablespace_name, sum(bytes_cached) bytes_used
                  from v$temp_extent_pool
                 group by tablespace_name) d
         where c.tablespace_name = d.tablespace_name)
 order by tablespace_name


--2.查看文件是否自动扩展
select d.file_name,d.tablespace_name,d.autoextensible from dba_data_files d
--如果想查看临时表空间文件是否自动扩展
select d.file_name,d.tablespace_name,d.autoextensible from dba_temp_files d;
--3.对临时文件进行扩展。
--1)TOSTEMP表空间使用率接近100%,对它进行扩展。
--SQL> alter database tempfile  'C:xxxxxx\TOSTEMP01.DBF'resize 500M;
--2)若是发现 表空间使用率接近100%,且不可扩展修改文件自动可扩展性
--alter database datafile 'E:xxxxxxESCALADE.ORA' autoextend on;
 

如果我的回答对你有帮助,万望采纳。