ora-01652无法通过128(在escalade表空间中)扩展temp段

问题:在oracle中报错ora-01652无法通过128(在escalade表空间中)扩展temp段
解决办法:
一、查看所有临时表的使用情况:

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

找到无法扩展temp段,记住临时表名;
二、查看下历史表的文件位置以及空间大小

select tablespace_name,file_name,bytes/1024/1024 file_size,autoextensible from dba_temp_files

找到上一步中无法扩展temp段临时表名;
三、将无法扩展temp段临时表修改为自动扩展

alter database tempfile '/oracle/oradata/users/osaptemp.data01' autoextend on next 5m maxsize unlimited;

Bingo。。。

你可能感兴趣的:(oracle)