Já considerou particionar a tabela? Nesse caso, voce somente droparia 
a partição. Outra técnica para essa quantidade de registro é dada 
pelo Tom Kyte, voce cria uma nova tabela do predicado do delete, 
dropar a tabela antiga, renomear a nova, grants e criação de índices 
em paralelo. Obviamente isso deveria ser feito em batch time.

http://asktom.oracle.com/pls/ask/f?
p=4950:8:::::F4950_P8_DISPLAYID:6407993912330

Abraço,
Marcio Portes.

--- Em oracle_br@yahoogrupos.com.br, Antônio <[EMAIL PROTECTED]> 
escreveu
> Pessoal , quanto menor o intervalo de undo_retetion e
> de commit seria melhor ?
> Detalhe a tabela é de 300 milhoes de registros . E são
> deletados em media 100 milhoes .
> Para fazer em um delete direto a tablespace de undo
> ficaria muito grande.
> 
> 
> --- Salvio Padlipskas <[EMAIL PROTECTED]> escreveu:
> 
> 
> ---------------------------------
> Enriquecendo o thread, acredito que o colega esteja
> executando
> um FOR... justamente porque o snapshot too old está
> pegando.
> 
> Realmente o parametro undo_retetion irá ter um papel
> importante 
> nesse caso. 
> 
> Mas tente também diminuir o tamanho do intervalo de
> commit, pois
> suas transações concorrentes devem estar
> sobrescrevendo os blocos
> utilizados no cursor principal.
> 
> [ ]'s
> Salvio
> 
> 
> -----Mensagem original-----
> De: opsmportes [mailto:[EMAIL PROTECTED]
> Enviada em: quarta-feira, 26 de outubro de 2005 12:34
> Para: oracle_br@yahoogrupos.com.br
> Assunto: [oracle_br] Re: Help - Sugestão para melhorar
> a velocidade do
> delete ?
> 
> 
> Primeira dica seria ajustar seu rollback/undo para
> acomodar o delete 
> inteiro e fazê-lo em uma tacada só. Outra coisa, se
> datain é do tipo 
> date, então voce deveria compará-la com DATE e não com
> varchar2.
> 
> Então a procedure ficaria:
> 
> CREATE OR REPLACE PROCEDURE apagarregs ( p_data in
> date )
> is
> begin
>   delete from tabelapr
>    where datain < p_data;
>   commit;
> end;
> /
> 
> --
> Marcio Portes
> http://mportes.blogspot.com
> 
> 
> --- Em oracle_br@yahoogrupos.com.br, Antônio
> <[EMAIL PROTECTED]> 
> escreveu
> > 
> > Pessoal aceito sugestões para melhorar o processo de
> > delete da tabelapr , tem dois indices indispensaveis
> ,
> > mais um que eu posso tirar que está relacionado com
> o
> > datain  para selecionar o periodo que será deletado.
> > A tabela normalmente tem 300000 milhoes de
> registros.
> > 
> > A procedure que faz o processo está abaixo :
> > 
> > 
> > 
> > 
> > CREATE OR REPLACE PROCEDURE apagarregs ( data
> varchar
> > )is
> > 
> >        contar  NUMBER  := 0;
> >        total  NUMBER  := 0;
> > 
> >        CURSOR del_record_cur IS
> >          SELECT rowid
> >          FROM   tabelapr
> >          WHERE datain < data ;
> >      BEGIN
> >        FOR rec IN del_record_cur LOOP
> >          DELETE FROM tabelapr WHERE rowid =
> rec.rowid
> > AND datain < data ;
> > 
> >          total := total + 1;
> >          contar := contar + 1;
> > 
> >          IF (contar >= 10000) THEN
> >            COMMIT;
> >            contar := 0;
> >          END IF;
> > 
> >        END LOOP;
> >        COMMIT;
> >      
> >      END;
> > 
> > 
> >       
> > 
> > 
> > 
> >       
> >             
> >
> _______________________________________________________
> 
> > Promoção Yahoo! Acesso Grátis: a cada hora navegada
> você
> > acumula cupons e concorre a mais de 500 prêmios!
> Participe!
> > http://yahoo.fbiz.com.br/
> 
> 
> 
> 
> ORACLE_BR APOIA 2ºENPO-BR
> 
_____________________________________________________________________
> O 2º Encontro Nacional de Profissionais Oracle será
> realizado no dia
> 05/11/2005 no auditório da FIAP em São Paulo. Serão
> apresentadas Palestras e
> Cases dirigidos exclusivamente por profissionais
> especialistas e renomados
> no mercado. Confira a programação no site do evento!
> http://www.enpo-br.org/
> 
_____________________________________________________________________
> Area de download oracle_br -
> http://www.4shared.com/dir/101727/a4dcc423  
> Links do Yahoo! Grupos
> 
> 
> 
> 
>  
> 
> 
> 
> [As partes desta mensagem que não continham texto
> foram removidas]
> 
> 
> 
> ORACLE_BR APOIA 2ºENPO-BR
> 
_____________________________________________________________________
> O 2º Encontro Nacional de Profissionais Oracle será
> realizado no dia 05/11/2005 no auditório da FIAP em
> São Paulo. Serão apresentadas Palestras e Cases
> dirigidos exclusivamente por profissionais
> especialistas e renomados no mercado. Confira a
> programação no site do evento! http://www.enpo-br.org/
> 
_____________________________________________________________________
> Area de download oracle_br -
> http://www.4shared.com/dir/101727/a4dcc423 
> 
>               
>                   Yahoo! Grupos, um serviço oferecido
> por:                                              
>   
> ---------------------------------
> 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 Termos do Serviço do Yahoo!.
> 
> 
> 
> 
>       
> 
> 
> 
>       
>               
> _______________________________________________________ 
> Promoção Yahoo! Acesso Grátis: a cada hora navegada você
> acumula cupons e concorre a mais de 500 prêmios! Participe!
> http://yahoo.fbiz.com.br/




ORACLE_BR APOIA 2ºENPO-BR 
_____________________________________________________________________
O 2º Encontro Nacional de Profissionais Oracle será realizado no dia 05/11/2005 
no auditório da FIAP em São Paulo. Serão apresentadas Palestras e Cases 
dirigidos exclusivamente por profissionais especialistas e renomados no 
mercado. Confira a programação no site do evento! http://www.enpo-br.org/
_____________________________________________________________________
Area de download oracle_br - http://www.4shared.com/dir/101727/a4dcc423  
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