--- Em oracle_br@yahoogrupos.com.br, Marcelo Cauduro <[EMAIL PROTECTED]> 
escreveu
>
> Pessoal,
> 
> Lendo o Oracle Concepts Part II, Chapter 2 and 3, fiquei com as 
seguintes
> dúvidas :
> 
> Um segmento é só para um objeto certo ?

Um segmento = um objeto ** lógico **, ou seja, um item que possui 
storage. Por exemplo, 1 tabela simples (heap table) = 1 objeto lógico 
= 1 segmento, mas para tabelas particionadas é CADA PARTIÇÃO = 1 
objeto lógico = 1 segmento, já que cada partição pode ser fisicamente 
diferente, alocada em locais e formas diferentes.

> 
> Quando você apaga linhas de uma tabelas, os extents de um 
determinado
> segmento que continham essas linhas nâo sâo liberados para novas 
linhas ? 

São automaticamente liberados pra novas linhas, MAS desde que seja 
insert na mesma tabela. 

>Há
> alguma excessao ?

Não, em sendo tabelas e índices "comuns".

> 
> Pelo que li ele só são liberados quando uma nova insercao é feita,

Incorreto : assim que as qtdades de deleções num bloco ultrapassam o 
especificado em PCTFREE, e sempre respeitando PCTUSED, o bloco vai 
pra lista de blocos livres, está LIBERADO pra reuso, e será 
TRANQUILAMENTE reusado quando for necessário, SEJA pra INSERTs, SEJA 
pra UPDATEs que ultrapassaram o espaço atual.

> que isto naum é feito na hora da exclusao ?

É feito, mas o conceito aqui é : pra se obter a melhor performance 
possível em INSERTs/UPDATEs, assim que a tabela é criada, mesmo 
estando VAZIA, o banco já aloca um extent pra ela, e conforme vão 
ocorrendo novos INSERTs/UPDATEs que precisem de espaço, novos extents 
vão sendo alocados pra tabela. A chave aqui é, já que na maioria das 
vezes num banco de dados ativo a maioria das tabelas são dinâmicas 
(ie, hoje cresceu, daqui a pouco já tem deleção, logo depois tem 
novas inserções) pra poupar tempo e ganhar performance o banco 
considera TODO o espaço alocado pra um segmento como pertencente a 
ele, quando há deleções ou DMLs que livrem espaço, o espaço é livre 
MAS é espaço livre para uso DESSE segmento dono, é isso : assim, o 
banco se poupa o trabalho de ter que alocar novos extents. É por isso 
que tabelas de "transação", que só crescem num job tipo fim de mês, e 
crescem aleatoriamente, muitas vezes até diminuindo em muito de 
tamanho, se desejado reaproveitamento desse espaço por OUTRAS 
tabelas, em princípio deveriam ser TRUNCADAS, aí sim o espaço livre 
delas fica disponível pra qquer outro segmento do banco, com exceção 
do extent inicial.

[]s

 Chiappa





--------------------------------------------------------------------------------------------------------------------------
Atenção! As mensagens deste grupo são de acesso público e de inteira 
responsabilidade de seus remetentes.
Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ 
--------------------------------------------------------------------------------------------------------------------------__________________________________________________________________
Moderador e Fundador: Dorian Anderson Soutto [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