Caro Silva, sinceramente me perdoe se em algum momento lhe ofendi não era e não 
é minha intenção, mais como estamos sempre aprendendo, as vezes nos enganamos e 
precisamos realmente como vc muito bem colocou pesquisar e reciclar nossos 
conhecimentos. Minha intenção aqui como certamente e da maioria é aprender, 
tirar duvidas, interagir e colaborar na medida do possível para engrandecer 
esse arduo e dificil trabalho. Quanto a utilização da sua frase e as demais 
ideias humildemente acredito que esteja dentro do contexto pois se verificarmos 
a materia do Burleson veremos que é possivel inserir uma quantidade absurda de 
informações na(s) tabela(s) utilizando outras tecnicas que vão assegurar a 
integridade e sucesso da transação. Mais uma vez peço desculpas a vc e a todos 
do grupo ... "de boa ... bola pra frente" e "tamu junto" ... abraço a todos ... 
= D !!! To: oracle_br@yahoogrupos.com.br
From: jljlsi...@yahoo.com.br
Date: Fri, 16 Mar 2012 17:26:11 -0300
Subject: Re: [oracle_br] Crescimento de tabela sem justificativa


















 



  


    
      
      
      Petersen,

Aonde vc quer chegar com essa discussão? O objetivo deste tópico era analisar o 
problema do crescimento da tabela citado pela Luciana.

Não estamos discutindo se é bom ou ruim o uso do hint append.

O que eu citei foi simplesmente o seguinte: **se for utilizado corretamente**, 
o append pode ser interessante, mas tem esse efeito colateral que faz a tabela 
sempre crescer.

Você usou uma frase minha fora do contexto. Desculpe se te ofendi com minha 
resposta, pois não era a intenção.

Mas, de boa.. boa prá frente.



Observação: Muito bons os artigos do Tom Kyte e do Donald Burleson. Essa 
análise do Tim Kyte, inclusive, eu já tinha lido. Em todas as vezes que 
apliquei o uso do hint append tive bons resultados. Claro que não podemos 
generalizar (nunca podemos generalizar quando falamos de hint).



Abraço!



On Mar 16, 2012, at 4:37 PM, Francisco Petersen Jr wrote:



> 

> 

> 

> 

> 

> 

> 

> Caro Silva, muito obrigado por suas considerações. Conforme mencionei (e me 
> desculpe se não expliquei e acabei complicando) e pesquisas efetuadas apartir 
> da sua sugestão podemos vir a ler o que Tom 
> Kyle(http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:1211797200346279484)
>  e Don Burleson falam à respeito do assunto 
> (http://dba-oracle.com/t_optimize_insert_sql_performance.htm). Só para termos 
> uma noção. vc diz que: "visando tornar o insert mais rápido, o oracle ignora 
> os blocos livres e insere o novo registro sempre no final da tabela, após a 
> HWM." quanto que na verdade "Usando o append hint no insert, vc assegura que 
> o Oracle sempre "eleve" o HWM da tabela pegando data blocks "frescos" (By 
> using the append hint, you ensure that Oracle always 

> grabs "fresh" data blocks by raising the high-water-mark for the table. Don 
> Burlesson), e o Tom diz o seguinte: Insert /*+ APPEND */ - why it would be 
> horrible for Oracle to make that the 

> "default". 

> 

> a) it isn't necessarily faster in general. It does a direct 

> path load to disk - bypassing the buffer cache. There are many cases - 

> especially with smaller sets - where the direct path load to disk would be 
> far 

> slower than a conventional path load into the cache. 

> 

> b) a direct path 

> load always loads above (AQUI ENTENDA/INTERPRETE QUE ELE FAZ O QUE O Don 
> MENCIONA, ELE "ELEVA" O HWM) the high water mark, since it is formatting and 
> writing 

> blocks directly to disk - it cannot reuse any existing space. Think about 
> this - 

> if you direct pathed an insert of a 100 byte row that loaded say just two 
> rows - 

> and you did that 1,000 times, you would be using at least 1,000 blocks (never 

> reuse any existing space) - each with two rows. Now, if you did that using a 

> conventional path insert - you would get about 70/80 rows per block in an 8k 

> block database. You would use about 15 blocks. Which would you prefer? 

> 

> 

> c) you cannot query a table after direct pathing into it until you 

> commit. 

> 

> d) how many people can direct path into a table at the same 

> time? One - one and only one. It would cause all modifications to serialize. 
> No 

> one else could insert/update/delete or merge into this table until the 

> transaction that direct paths commits. 

> 

> Direct path inserts should be 

> used with care, in the proper circumstances. A large load - direct path. But 

> most of the time - conventional path.

> 

> Espero ter colaborado.

> Abraço,

> Francisco. 

> To: oracle_br@yahoogrupos.com.br

> From: jljlsi...@yahoo.com.br

> Date: Fri, 16 Mar 2012 10:41:47 -0300

> Subject: Re: [oracle_br] Crescimento de tabela sem justificativa

> 

> 

> 

> 

> 

> 

> 

> 

> 

> 

> 

> 

> 

> 

> 

> 

> 

> 

> 

> 

> 

> 

> 

> 

> 

> 

> 

> 

>    Caro amigo Petersen Jr.

> 

> Talvez seja melhor você  ler com atenção a informação sobre o uso do hint 
> "append" no insert.

> 

> Caso não conheça, procure conhecer. Pode ser útil, quando usado corretamente.

> 

> 

> 

> On Mar 15, 2012, at 9:43 PM, Francisco Petersen Jr wrote:

> 

> 

> 

>> 

> 

>> 

> 

>> 

> 

>> Caro Silva, conforme ... "Para esclarecimento: o inicial está com 10Mb, next 
>> 1Mb, pctincrease 0 minextents 1 PCTFREE 0 PCTUSED 90" ... se não estou 
>> enganado ... o oracle NÃO IGNORA OS BLOCOS LIVRES E INSERE O NOVO REGISTRO 
>> SEMPRE NO FINAL DA TABELA ... o ORACLE faz exatamente aquilo que foi 
>> definido em tempo pelos developers, analistas e dbas de aplicação ... = D 
>> !!!  ... Att,

> 

>> 

> 

>> 

> 

>> To: oracle_br@yahoogrupos.com.br

> 

>> From: jljlsi...@yahoo.com.br

> 

>> Date: Thu, 15 Mar 2012 18:11:30 -0300

> 

>> Subject: Re: [oracle_br] Crescimento de tabela sem justificativa

> 

>> 

> 

>> 

> 

>> 

> 

>> 

> 

>> 

> 

>> 

> 

>> 

> 

>> 

> 

>> 

> 

>> 

> 

>> 

> 

>> 

> 

>> 

> 

>> 

> 

>> 

> 

>> 

> 

>> 

> 

>> 

> 

>> 

> 

>> 

> 

>> 

> 

>> 

> 

>> 

> 

>> 

> 

>> 

> 

>> 

> 

>> 

> 

>> 

> 

>>   Oi, Luciana.

> 

>> 

> 

>> Uma situação que pode causar este comportamento é o insert com append.

> 

>> 

> 

>> Quando usamos o hint append no insert, visando tornar o insert mais rápido, 
>> o oracle ignora os blocos livres e insere o novo registro sempre no final da 
>> tabela, após a HWM.

> 

>> 

> 

>> Verifica se isto está ocorrendo.

> 

>> 

> 

>> 

> 

>> 

> 

>> On Mar 15, 2012, at 2:52 PM, Luciana Missao Osako Camargo wrote:

> 

>> 

> 

>> 

> 


>> 

> 

>>> Pessoal,

> 

>> 

> 

>>> 

> 

>> 

> 

>>> Para esclarecimento: o inicial está com 10Mb, next 1Mb, pctincrease 0,

> 

>> 

> 

>>> minextents 1.

> 

>> 

> 

>>> PCTFREE 0 PCTUSED 90

> 

>> 

> 

>>> 

> 

>> 

> 

>>> Agradeço todas as contribuições, mas a minha dúvida maior é, como ele

> 

>> 

> 

>>> chega a este tamanho se é feito DELETE (sem clausula nenhuma) e INSERT.

> 

>> 

> 

>>> Não existe update ou delete com alguma cláusula.

> 

>> 

> 

>>> De dados de fato só tem 200Mb.

> 

>> 

> 

>>> Qual o motivo de chegar a 4Gb?

> 

>> 

> 

>>> 

> 

>> 

> 

>>> Apenas um parenteses: não estou recebendo todos os e-mails da lista ....

> 

>> 

> 

>>> 

> 

>> 

> 

>>> Obrigada

> 

>> 

> 

>>> Luc

> 

>> 

> 

>>> 

> 

>> 

> 

>>> Em 14 de março de 2012 18:09, Bruno Sales <brunosale...@gmail.com> escreveu:

> 

>> 

> 

>>> 

> 

>> 

> 

>>>> **

> 

>> 

> 

>>>> 

> 

>> 

> 

>>>> 

> 

>> 

> 

>>>> De repente vc pode fazer o shrink da tabela, mas aí voce vai ter que

> 

>> 

> 

>>>> verificar se o espaço dela é reusavel.

> 

>> 

> 

>>>> alter table tabela enable row mevement;

> 

>> 

> 

>>>> alter table tabela shrink space;

> 

>> 

> 

>>>> 

> 

>> 

> 

>>>> Em 14 de março de 2012 16:20, [Paulo Sousa] <paulorso...@gmail.com

> 

>> 

> 

>>>>> escreveu:

> 

>> 

> 

>>>> 

> 

>> 

> 

>>>>> Luciana,

> 

>> 

> 

>>>>> 

> 

>> 

> 

>>>>> não pode ter a ver com o initial e next extent (size) da tablespace onde

> 

>> 

> 

>>>> a

> 

>> 

> 

>>>>> tabela está? Já tentou levar essa tabela para uma outra tablespace com

> 

>> 

> 

>>>>> definições diferentes dessa atual e verificar o comportamento da

> 

>> 

> 

>>>> operação?

> 

>> 

> 

>>>>> 

> 

>> 

> 

>>>>> Abraço.

> 

>> 

> 

>>>>> 

> 

>> 

> 

>>>>> Paulo Sousa

> 

>> 

> 

>>>>> paulorso...@gmail.com

> 

>> 

> 

>>>>> ____________________________________

> 

>> 

> 

>>>>> "No caráter, na conduta, no estilo, em todas as coisas, a simplicidade é

> 

>> 

> 

>>>> a

> 

>> 

> 

>>>>> suprema virtude." (Henry Wadsworth)

> 

>> 

> 

>>>>> 

> 

>> 

> 

>>>>> 

> 

>> 

> 

>>>>> 

> 

>> 

> 

>>>>> 2012/3/14 Luciana Missao Osako Camargo <lcama...@cpqd.com.br>

> 

>> 

> 

>>>>> 

> 

>> 

> 

>>>>>> **

> 

>> 

> 

>>>>>> 

> 

>> 

> 

>>>>>> 

> 

>> 

> 

>>>>>> Pessoal,

> 

>> 

> 

>>>>>> 

> 

>> 

> 

>>>>>> Não posso fazer o truncate, pois é parte de uma transação mais

> 

>> 

> 

>>>> complexa.

> 

>> 

> 

>>>>>> 

> 

>> 

> 

>>>>>> A alternativa q tenho é corrigir este comportamento, mas mantendo-se a

> 

>> 

> 

>>>>>> transação.

> 

>> 

> 

>>>>>> 

> 

>> 

> 

>>>>>> Luc

> 

>> 

> 

>>>>>> 

> 

>> 

> 

>>>>>> Em 14 de março de 2012 16:03, Thiago Sgobe <thiagosg...@gmail.com>

> 

>> 

> 

>>>>>> escreveu:

> 

>> 

> 

>>>>>> 

> 

>> 

> 

>>>>>> 

> 

>> 

> 

>>>>>>> Luciana

> 

>> 

> 

>>>>>>> 

> 

>> 

> 

>>>>>>> Use truncate table; ao inves do DELETE, desta forma a marca d'agua da

> 

>> 

> 

>>>>>>> tabela sera reajustada e evitara o crescimento inconveniente.

> 

>> 

> 

>>>>>>> 

> 

>> 

> 

>>>>>>> Att.

> 

>> 

> 

>>>>>>> Thiago Sgobe

> 

>> 

> 

>>>>>>> 

> 

>> 

> 

>>>>>>> Em 14 de março de 2012 15:53, Luciana Missao Osako Camargo <

> 

>> 

> 

>>>>>>> lcama...@cpqd.com.br> escreveu:

> 

>> 

> 

>>>>>>> 

> 

>> 

> 

>>>>>>>> **

> 

>> 

> 

>>>>>>>> 

> 

>> 

> 

>>>>>>>> 

> 

>> 

> 

>>>>>>>> Pessoal,

> 

>> 

> 

>>>>>>>> 

> 

>> 

> 

>>>>>>>> Eu estou com Enterprise Edition Release 10.2.0.5.0

> 

>> 

> 

>>>>>>>> 

> 

>> 

> 

>>>>>>>> Tenho uma tabela que está com crescimento exagerado e, a princípio,

> 

>> 

> 

>>>>> sem

> 

>> 

> 

>>>>>>>> que possa ser justificada.

> 

>> 

> 

>>>>>>>> 

> 

>> 

> 

>>>>>>>> A tabela está com PCTFREE 0 e PCTUSED 90

> 

>> 

> 

>>>>>>>> 

> 

>> 

> 

>>>>>>>> Só existe uma package que trabalha com esta tabela e faz:

> 

>> 

> 

>>>>>>>> DELETE FROM tabela;

> 

>> 

> 

>>>>>>>> INSERT INTO tabela SELECT * FROM tabela2;

> 

>> 

> 

>>>>>>>> É exatamente dessa forma, sem hints, nada!

> 

>> 

> 

>>>>>>>> 

> 

>> 

> 

>>>>>>>> Se é feito um MOVE nesta tabela, ela cai para 200Mb, mas ela cresce

> 

>> 

> 

>>>>> até

> 

>> 

> 

>>>>>>>> uns 4Gb.

> 

>> 

> 

>>>>>>>> 

> 

>> 

> 

>>>>>>>> Tem algo que eu possa ser verificado para evitar este crescimento?

> 

>> 

> 

>>>>>>>> 

> 

>> 

> 

>>>>>>>> Obrigada

> 

>> 

> 

>>>>>>>> Luciana

> 

>> 

> 

>>>>>>>> 

> 

>> 

> 

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

> 

>> 

> 

>>>>>>>> 

> 

>> 

> 

>>>>>>>> 

> 

>> 

> 

>>>>>>>> 

> 

>> 

> 

>>>>>>> 

> 

>> 

> 

>>>>>>> 

> 

>> 

> 

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

> 

>> 

> 

>>>>>>> 

> 

>> 

> 

>>>>>>> 

> 

>> 

> 

>>>>>>> 

> 

>> 

> 

>>>>>>> ------------------------------------

> 

>> 

> 

>>>>>>> 

> 

>> 

> 

>>>>>>> 

> 

>> 

> 

>>>>>>> ----------------------------------------------------------

> 

>> 

> 

>>>>>>>> Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de

> 

>> 

> 

>>>>>>> inteira responsabilidade de seus remetentes.

> 

>> 

> 

>>>>>>> Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/

> 

>> 

> 

>>>>>>> 

> 

>> 

> 

>>>>>>> ----------------------------------------------------------

> 

>> 

> 

>>>>>>>> Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package »

> 

>> 

> 

>>>>>>> Procedure » Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO

> 

>> 

> 

>>>>>> ESPAÇO!

> 

>> 

> 

>>>>>>> VISITE: http://www.oraclebr.com.br/

> 

>> 

> 

>>>>>>> ----------------------------------------------------------

> 

>> 

> 

>>>>>>> Links do Yahoo! Grupos

> 

>> 

> 

>>>>>> 

> 

> 

>> 

> 

>>>>>>> 

> 

>> 

> 

>>>>>>> 

> 

>> 

> 

>>>>>>> 

> 

>> 

> 

>>>>>> 

> 

>> 

> 

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

> 

>> 

> 

>>>>>> 

> 

>> 

> 

>>>>>> 

> 

>> 

> 

>>>>>> 

> 

>> 

> 

>>>>> 

> 

>> 

> 

>>>>> 

> 

>> 

> 

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

> 

>> 

> 

>>>>> 

> 

>> 

> 

>>>>> 

> 

>> 

> 

>>>>> 

> 

>> 

> 

>>>>> ------------------------------------

> 

>> 

> 

>>>>> 

> 

>> 

> 

>>>>> 

> 

>> 

> 

>>>>> ----------------------------------------------------------

> 

>> 

> 

>>>>>> Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de

> 

>> 

> 

>>>>> inteira responsabilidade de seus remetentes.

> 

>> 

> 

>>>>> Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/

> 

>> 

> 

>>>>> 

> 

>> 

> 

>>>>> ----------------------------------------------------------

> 

>> 

> 

>>>>>> Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package »

> 

>> 

> 

>>>>> Procedure » Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO

> 

>> 

> 

>>>> ESPAÇO!

> 

>> 

> 

>>>>> VISITE: http://www.oraclebr.com.br/

> 

>> 

> 

>>>>> ----------------------------------------------------------

> 

>> 

> 

>>>>> Links do Yahoo! Grupos

> 

>> 

> 

>>>>> 

> 

>> 

> 

>>>>> 

> 

>> 

> 

>>>>> 

> 

>> 

> 

>>>> 

> 

>> 

> 

>>>> --

> 

>> 

> 

>>>> Bruno Sales

> 

>> 

> 

>>>> 

> 

>> 

> 

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

> 

>> 

> 

>>>> 

> 

>> 

> 

>>>> 

> 

>> 

> 

>>>> 

> 

>> 

> 

>>> 

> 

>> 

> 

>>> 

> 

>> 

> 

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

> 

>> 

> 

>>> 

> 

>> 

> 

>>> 

> 

>> 

> 

>>> 

> 

>> 

> 

>>> ------------------------------------

> 

>> 

> 

>>> 

> 

>> 

> 

>>> ----------------------------------------------------------

> 

>> 

> 

>>>> Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de 
>>>> inteira responsabilidade de seus remetentes.

> 

>> 

> 

>>> Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ 

> 

>> 

> 

>>> ----------------------------------------------------------

> 

>> 

> 

>>>> Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » Procedure 
>>>> » Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: 
>>>> http://www.oraclebr.com.br/  

> 

>> 

> 

>>> ---------------------------------------------------------- Links do Yahoo! 
>>> Grupos

> 

>> 

> 

>>> 

> 

>> 

> 

>>> 

> 

>> 

> 

>> 

> 

>> 

> 

>> 

> 

>> 

> 

>> 

> 

>> 

> 

>> 

> 

>> 

> 

>> 

> 

>> 

> 

>> 

> 

>> 

> 

>> 

> 

>> 

> 

>> 

> 

>> 

> 

>>                                                                              
>>   

> 

>> 

> 

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

> 

>> 

> 

>> 

> 

>> 

> 

>> ------------------------------------


> 

>> 

> 

>> ----------------------------------------------------------

> 

>>> Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de inteira 
>>> responsabilidade de seus remetentes.

> 

>> Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ 

> 

>> ----------------------------------------------------------

> 

>>> Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » Procedure 
>>> » Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: 
>>> http://www.oraclebr.com.br/  

> 

>> ---------------------------------------------------------- Links do Yahoo! 
>> Grupos

> 

>> 

> 

>> 

> 

> 

> 

> 

> 

> 

> 

> 

> 

> 

> 

> 

> 

> 

> 

> 

> 

>                                                                               
>   

> 

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

> 

> 

> 

> ------------------------------------

> 

> ----------------------------------------------------------

>> Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de inteira 
>> responsabilidade de seus remetentes.

> Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ 

> ----------------------------------------------------------

>> Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » Procedure » 
>> Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: 
>> http://www.oraclebr.com.br/  

> ---------------------------------------------------------- Links do Yahoo! 
> Grupos

> 

> 





    
     

    
    






                                          

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



------------------------------------

--------------------------------------------------------------------------------------------------------------------------
>Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de inteira 
>responsabilidade de seus remetentes.
Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ 
--------------------------------------------------------------------------------------------------------------------------
>Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » Procedure » 
>Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: 
>http://www.oraclebr.com.br/  
------------------------------------------------------------------------------------------------------------------------
 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:
    oracle_br-unsubscr...@yahoogrupos.com.br

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html


Responder a