ORA-1652: unable to extend temp segment by 128 in tablespace TEMP
--总的使用情况
select tablespace_name,current_users,total_extents,used_extents,free_extents from v$sort_segment;
--
select * from v$sort_usage order by extents desc;
select * from v$tempseg_usage where session_addr='xxx'
--SQL
select a.TEMP_SPACE,a.* from v$sql_plan a order by 1 desc nulls last
--合理的pga或sort_area_size workarea_size_policy
--优化引起disk sort的sql
Select substr(name,1,25) "Sort Area Name", substr(value,1,15) "Value"
from v$sysstat
where name like 'sort%'
--
SELECT su.username,
session_num,
su.tablespace,
su.contents,
su.segtype,
su.segfile#,
su.segblk#,
su.extents,
su.blocks,
sq.sql_fulltext,
sq.first_load_time,
sq.plsql_exec_time
FROM v$sort_usage su, v$sql sq
WHERE su.sqladdr = sq.address;
--在会话范围内设置
ALTER SESSION SET EVENTS '1652 trace name errorstack';
ALTER SESSION SET EVENTS '1652 trace name context off';