oracle常见错误_ORA-01652:无法通过128(在表空间TEMP中)扩展temp段

oracle数据库报错,ORA-01652:无法通过128(在表空间TEMP中)扩展temp段

出现这个报错一般是两种情况,oracle的temp空间不足;存在性能非常差的带全表扫描的sql占用的资源超过了temp的大小

1、查看临时表空间是不是自动可扩展

select d.file_name,d.tablespace_name,d.autoextensible from dba_temp_file d;

2、查看消耗临时表空间资源比较多的sql语句

SELECT  se.username,
        se.sid,
        su.extents,
        su.blocks * to_number(rtrim(p.value)) asSpace,
        tablespace,
        segtype,
        sql_text
FROM v$sort_usage su, v$parameter p, v$session se, v$sql s                                                                        
WHERE p.name = 'db_block_size'
     AND su.session_addr = se.saddr
     AND s.hash_value = su.sqlhash
     AND s.address = su.sqladdr
ORDER BY se.username, se.sid;

3、重启数据库

重启数据库,数据库重启时,smon进程会完成临时段释放TEMP表空间的清理操作

4、增加temp空间

--增加新的临时文件,来扩大临时表空间
alter tablespace TEMP add tempfile '/dbfile/oradata/tstdb/temp02.dbf' resize 4000m;

 

posted on 2022-03-22 13:49  Wuxuanlin  阅读(15587)  评论(0编辑  收藏  举报