Um segmento temporário aloca espaço da mesma forma que segmentos de dados, ie, via EXTENTs dentro duma tablespace, inicialmente será criado o mínimo de extents, uma vez isso usado cada vez que for preciso mais espaço o banco criará um novo extent, enquanto houver espaço livre nalgum datafile/tempfile da tablespace (aumentando o datafile/tempfile até o limite especificado se ele for AUTOEXTENSIBLE). O default do tamanho dos extents , da qtdade máxima de extents, da quantidade mínima de extents, etc, fica na própria definição da tablespace. Por exemplo :
[EMAIL PROTECTED]:SQL>select * from dba_tablespaces where tablespace_name = 'TEMP'; TABLESPACE_NAME BLOCK_SIZE INITIAL_EXTENT NEXT_EXTENT MIN_EXTENTS MAX_EXTENTS PCT_INCREASE MIN_EXTLEN STATUS CONTENTS LOGGING FOR EXTENT_MAN ALLOCATIO PLU SEGMEN DEF_TAB_ ------------------------------ ------------------ ------------------ - ----------------- ------------------ ------------------ -------------- ---- ------------------ --------- --------- --------- --- ---------- - -------- --- ------ -------- TEMP 8192 20979712 20979712 1 0 20979712 ONLINE TEMPORARY NOLOGGING NO LOCAL UNIFORM NO MANUAL DISABLED nesse exemplo, MAX_EXTENTS está em branco, posso criar quantos extents couberem nos datafiles/tempfiles dessa tablespace. ====>>> Só uma obs : quando uma tablespace temp usa TEMPFILES, é LMT e é do tipo TEMPORARY (como é o correto), o banco ** NÃO APAGA/CRIA *** blocos em disco, ele simplesmente marca como livre/usado o espaço em memória, internamente. Vc diz "indeendente do total usado dos tempfiles", será que vc está consultando tamanhos de tempfiles em disco ? Ou está indo na dba_free_space ?? Ou está olhando a coluna USER_BYTES na DBA_TEMP_FILES ??? TODAS essas opções são erradas, não funcionam, o modo pra vc ver o quanto está sendo usado ou está livre numa temporary tablespace nas condições acima em banco 8i ou superior é : SELECT * FROM V$SORT_SEGMENT; SELECT * FROM V$SORT_USAGE; []s Chiappa --- Em oracle_br@yahoogrupos.com.br, "Rosiano Vieira de Sales" <[EMAIL PROTECTED]> escreveu > > Pessoal, > > Tenho uma dúvida que é a seguinte: > > Imagine que a minha tablespace temporária tem 3 segmentos temporários; > > Quando a consulta é executada ele pega um desses 3 segmentos e vai usando conforme sua necessidade, digamos que o segmento 1 que é o que esta sendo usado e depois de um tempo ele chegou no seu tamanho limite ... ai eu pergunto se eu não der um resize no mesmo ele automaticamente vai para o segmento 2 ou ele vai dar o erro: ORA- 01652: unable to extend temp segment by 128 in tablespace TEMP. > > Digo isso pq esta dando esse erro independente do total dos tempfiles estarem sendo usados... ele começa a usar um e quando chega no limite dele da o erro. > > Alguém poderia me ajudar ?? > > Att. > > > Rosiano Vieira de Sales ______________________________________________________________________ Cancelar assinatura...: [EMAIL PROTECTED] Moderadores da lista....:Dorian Anderson Soutto [EMAIL PROTECTED] Fernanda Damous [EMAIL PROTECTED] Alisson Aguiar [EMAIL PROTECTED] ______________________________________________________________________ http://br.groups.yahoo.com/group/oracle_br/ ______________________________________________________________________ Sair da Lista...: [EMAIL PROTECTED] Links do Yahoo! Grupos <*> Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/oracle_br/ <*> Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] <*> O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html