Tudo jóia ?? Então, a Primeira Coisa que vc tem que saber é que os tempfiles (e 
também os datafiles, a propósito) absolutamente NÃO SÃO EXTENDIDOS, ie, Não 
CRESCEM sozinhos por default, de acordo com a necessidade : se VC QUER que isso 
aconteça é VOCÊ que tem que especificar isso ao criar a tablespace, com a 
sintaxe CREATE TEMPORARY TABLESPACE nomedatablespace TEMPFILE 
'pathdotempfile/nomedotempfile.dbf' size xxx AUTOEXTEND ON MAXSIZE 
xxxouUNLIMITED, 'pathdotempfile/nomedotempfile.dbf' size xxx AUTOEXTEND ON 
MAXSIZE xxxouUNLIMITED, , etc... EVIDENTEMENTE, é POR SUA CONTA controlar isso 
para evitar que uma aplicação malcomportada consuma todo o espaço no volume de 
disco onde estão os tempfiles (se vc os deixar como UNLIMITED) ou que 
erradamente aloque espaço em demasia e te deixe sem espaço para as outras 
sessões/transações (o que me PARECE ser o seu caso aí, ok) ??
  
  Então a sua resposta é : SE vc tem 100% de certeza que as suas aplicações não 
consome/aloca espaço temporário loucamente/erradamente, deixe a(s) sya(s) 
tablespaces TEMP como AUTOALLOCATE e morreu, sim sim ?? 
  Ao contrário, se vc Não tem essa certeza (o que é COMUM, infelizmente - apps 
bem-feitas são EXCEÇÂO e não maioria na vida real), o que vc deve fazer é ter 
múltiplas tablespaces temporárias (para Evitar que uma única sessão/transação 
malcomportada consuma todo o espaço temp), tablespaces essas com datafiles 
criados de um tamanho que vc julgue razoável para o consumo histórico, E cabe a 
você ** MONITORAR ** frequentemente o consumo para detectar um caso especial 
que esteja consumindo muito e talvez necessite que vc TEMPORARIAMENTE aloque 
mais espaço, espaço esse que vc pode desalocar  uma vez terminada a 
sessão/transação gastadora.... ok ?
  
  Como refs, além da Documentação veja 
http://www.oracle-wiki.net/startsqlshowtempusage , 
https://stackoverflow.com/questions/174727/discover-what-process-query-is-using-oracle-temp-tablespace
 e https://asktom.oracle.com/pls/apex/asktom.search?tag=temp-tablespace-200010 
para consultar espaço temp em uso (é basicamente usar a 
V$SORT_SEGMENT/V$SORT_USAGE, em verdade, mas veja na Doc que em release mais 
recentes vc tem a V$TEMPSEG_USAGE), e veja também  
http://dbakevlar.com/2011/08/warp-speed-with-temp-tablespace-groups/ para 
opções de TEMPORARY TABLESPACE GROUPs... Para saber o espaço temporário gasto 
por um determinado SQL, vc pode usar o plano de execução completo/extendido, 
veja 
https://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:12519780526076
 como uma ref...
  
  []s
  
    Chiappa

Responder a