So um comentario a mais para ver se ajuda, pelo menos foi como eu decorei isso:
Ao fazer insercoes no oracle 8i ele ira procurar por blocos vazios na free 
list, 
o controle da freelist é feito pelo pctused e pctfree, da seguinte vc pode 
fazer 
as alteracoes no banco ele irá fazer alteracoes do bloco, mas quando a 
porcentagem de utilizacao de bloco chegar ao pctused, o Oracle para de utilizar 
aquele bloco para inserts, utiliza apenas para update e delete
Depois, conforme for utilizando (e deletando os registros) o bloco vai 
esvaziando, assim quando a porcentagem de uso chegar no pctfree o oracle manda 
o 
bloco novamente para freelist, liberando novamente seu uso para inserts 
(utiliza-se o pctused para evitar que updates novos updates nao possam ser 
salvos no mesmo bloco onde o registro jah se encontra [dividindo os dados do 
registro em mais de um bloco "row chain" ])





________________________________
De: Emerson Moreira Rocha <tkz...@yahoo.com.br>
Para: oracle_br@yahoogrupos.com.br
Enviadas: Sexta-feira, 3 de Setembro de 2010 8:33:01
Assunto: Res: [oracle_br] pctfree e pctused

  
Enio,

O PCTUSED refere-se ao percentual de utilizacao do bloco de dados, para 
operacoes de inserção, update e delete ao total  de dados inseridos no bloco

O PCTFREE  ao espaço livre para atualizacoes:

Por exemplo um bloco com 100 k

pctfree de 10
pctused 60 como no seu caso

95 k de dados no bloco o bloco será travado para inserções, pois atingiu o 
limite de pctused de 60 e tambem atingiu o limite de pct, ai posteriormente 
voce 

da um delete alterando o valor para 55 k de dados no bloco ai o oracle irá 
liberar o bloco para inserçoes novamente, pois o valor esta abaixo do pctused.

MIgracao de blocos
Quando o PCTUSED e atingido o Oracle marcar um flag neste bloco que atingiu o 
limite e grava os dados num outro bloco, porem dados large objects gravam um 
flag e um bloco e os dados num outro bloco devido ao tamanho ser superior.

Att,

________________________________

Emerson M. Rocha
>Mobile:(11) 9511-8753
>>E-Mail: tkz...@yahoo.com.br
________________________________

________________________________
De: Dênio Flávio Garcia da Silva <de...@nbsi.com.br>
Para: oracle_br@yahoogrupos.com.br
Enviadas: Quarta-feira, 1 de Setembro de 2010 18:24:01
Assunto: [oracle_br] pctfree e pctused

Eu tenho um banco Oracle 8.1.7

Lá no init.ora eu tenho o DB_BLOCK_SIZE = 8192.

Tenho uma tabela que está definida com

PCTFREE = 10

PCTUSED = 60

Quando eu dou um insert, que ocuparia, digamos o tamanho de um bloco,  seria
mantido 10% de 8192 bytes, ou seja, 819 bytes para os updates desse
registro???? Daí ele ia gravar a diferença 7373 bytes no primeiro bloco e o
resto num segundo bloco?

Outra coisa, o PCTUSED é verificado somente após um delete ou update, e se o
espaço ocupado for inferior ao PCTUSED o Oracle dispobiliza esse bloco para
inserção de novos dados??? 

Obrigado,

Dênio

-- 
Mensagem verificada pelo sistema de antivírus  da Aser Security.

[As partes desta mensagem que não continham texto foram removidas]

[As partes desta mensagem que não continham texto foram removidas]


 


      

[As partes desta mensagem que não continham texto foram removidas]

Responder a