O aumento da TEMP é óbvio já que o rdbms não consegue terminar a operação.
A operação de ordenação será a última coisa a ser feita, supondo que cada registro tenha 2K não será usado mais que 15M de TEMP para 7939 registros.
Outras operações como GROUP BY explicito (ou implicito via DISTINCT), HASH JOIN, MERGE JOINS e tabelas temporárias globais tambem consomem espaço na TEMP ts.
O maior consumo de TEMP deve estar na resolução da query, nas operações de HASH/MERGE JOIN. Identifique se realmente são a causa fazendo um EXPLAIN da query…. Verifique se a função usada na lista de campos não consume ainda mais TEMP.
Identifique a sessão e quanto de TEMP é consumido com a query abaixo.
SELECT b.TABLESPACE
, b.segfile#
, b.segblk#
, ROUND ( ( ( b.blocks * p.VALUE ) / 1024 / 1024 ), 2 ) size_mb
, a.SID
, a.serial#
, a.username
, a.osuser
, a.program
, a.status
FROM v$session a
, v$sort_usage b
, v$process c
, v$parameter p
WHERE p.NAME = 'db_block_size'
AND a.saddr = b.session_addr
AND a.paddr = c.addr
ORDER BY b.TABLESPACE
, b.segfile#
, b.segblk#
, b.blocks;