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;

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM