Tenta usar Bulk Colection....  no meta tem uns exemplos.

Att.

Thiago M. Zerbinato
Oracle Certified Professional
Linux Professional since 1997
Ribeirão Preto - SP
---
http://thiagomz.hpg.com.br
Linux User #286429
Debian User #534

"Primeiro eles o ignoram. Depois riem de você. Então eles o combatem. Aí 
você vence"

Mohandas Gandhi.



Juliano Martinez da Silva wrote:

>Eu estou fazendo o seguinte ... rodo essa PROC que faz o update em 300.000
>linhas
>faço o delete em umas 500.000 linhas e somente no final disso tudo é que
>faço o COMMIT
>
>Quer dizer que se eu fizer o COMMIT a cada 1000 registros Atualizados e/ou
>Excluídos o tempo irá diminuir ??
>
>Juliano Martinez da Silva
>[EMAIL PROTECTED]
>Marca Sistemas de Computação Ltda.
>
>
>-----Mensagem original-----
>De: [email protected] [mailto:[EMAIL PROTECTED]
>nome de Josÿffffffffffe9 Ferreira
>Enviada em: quarta-feira, 26 de outubro de 2005 12:50
>Para: [email protected]
>Assunto: Re: [oracle_br] Problemas com UNDO - Snapshot too old
>
>
>Se você estiver dando um commit após cada
>processo(update/delete), tenda fazer isso a cada 1000
>por exemplo:
>
>adriano
>
>
>--- Juliano <[EMAIL PROTECTED]> escreveu:
>
>
>---------------------------------
>Olá lista, mais uma vez venho recorrer a experiência
>de vocês !!
>Trabalho com Oracle 9i (9.2.0.1)
>
>Possuo uma Tablespace de UNDO com os seguintes
>parâmetros:
>undo_management = AUTO
>undo_retention = 10800
>
>Acontece que preciso rodar um script que executa um
>update e após um
>delete em muitas linhas de uma determinada tabela, só
>que no meio do
>processo eu recebo o seguinte erro:
>
>ORA-01555: snapshot too old: rollback segment number
>string with
>name "string" too small
>
>Andei pesquisando e encontrei os scripts que
>disponibilizei abaixo,
>eles determinam o que deve ser aumentado, se o tamanho
>da Tablespace
>de UNDO (UNDOTBS1) ou o parâmetro undo_retention.
>
>Acontece que baseado nesse script, ele me aconselha
>que minha
>tablespace de UNDO possua 20 Gb. Achei isso demais.
>
>Gostaria da opinião de vocês, dicas e prováveis
>solução.
>Agradeço qualquer ajuda ou dica !!
>
>--------------------------------------------------------------------
>SCRIPTS:
>
>SELECT d.undo_size/(1024*1024) "ACTUAL UNDO SIZE
>[MByte]",
>       SUBSTR(e.value,1,25) "UNDO RETENTION [Sec]",
>       ROUND((d.undo_size / (to_number(f.value) *
>       g.undo_block_per_sec))) "OPTIMAL UNDO RETENTION
>[Sec]"
>  FROM (
>       SELECT SUM(a.bytes) undo_size
>          FROM v$datafile a,
>               v$tablespace b,
>               dba_tablespaces c
>         WHERE c.contents = 'UNDO'
>           AND c.status = 'ONLINE'
>           AND b.name = c.tablespace_name
>           AND a.ts# = b.ts#
>       ) d,
>       v$parameter e,
>       v$parameter f,
>       (
>       SELECT
>MAX(undoblks/((end_time-begin_time)*3600*24))
>              undo_block_per_sec
>         FROM v$undostat
>       ) g
>WHERE e.name = 'undo_retention'
>  AND f.name = 'db_block_size'
>/
>
>--------------------------------------------------------------------
>SELECT d.undo_size/(1024*1024) "ACTUAL UNDO SIZE
>[MByte]",
>       SUBSTR(e.value,1,25) "UNDO RETENTION [Sec]",
>       (TO_NUMBER(e.value) * TO_NUMBER(f.value) *
>       g.undo_block_per_sec) / (1024*1024)
>       "NEEDED UNDO SIZE [MByte]"
>  FROM (
>       SELECT SUM(a.bytes) undo_size
>         FROM v$datafile a,
>              v$tablespace b,
>              dba_tablespaces c
>        WHERE c.contents = 'UNDO'
>          AND c.status = 'ONLINE'
>          AND b.name = c.tablespace_name
>          AND a.ts# = b.ts#
>       ) d,
>       v$parameter e,
>       v$parameter f,
>       (
>       SELECT
>MAX(undoblks/((end_time-begin_time)*3600*24))
>          undo_block_per_sec
>         FROM v$undostat
>       ) g
> WHERE e.name = 'undo_retention'
>  AND f.name = 'db_block_size'
>/
>
>--------------------------------------------------------------------
>Juliano Martinez da Silva
>[EMAIL PROTECTED]
>
>
>
>
>
>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
>
>
>
>
>
>
>
>
>
>
>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
>
>
>
>
> 
>
>
>
>__________ NOD32 1.1265 (20051025) Information __________
>
>This message was checked by NOD32 antivirus system.
>http://www.nod32.com
>
>
>
>  
>

        

        
                
_______________________________________________________ 
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