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

 


Responder a