Bruno

Complementando a explicação do Caio...
Se você está utilizando "bulk insert" (SQL-Loader no modo "direct path", ou
insert com hint "append"), é necessário desabilitar FK's, triggers e índices
mesmo.

[ ]'s

André


2010/1/20 Caio Spadafora <[email protected]>

>
>
> Bruno,
>
> Crie índices manualmente nas chaves estrangeiras que referenciam essa
> tabela grande que você esta manipulando.
>
> O que acontece é o seguitne, quando você manipula a tabela o Oracle irá
> verificar se existe alguma tabela "filho" que depende dessa tabela alterada
> (isso ocorre a partir da existência de FKs), uma vez que índices não existam
> nas FKs (por padrão só são criados índices nas PKs) o Oracle mantem um lock
> na tabela "filho", se você criar os índices os locks se restringirão as
> linhas das tabelas "filho" que tiveram sua referência sendo manipulada.
>
> Atenciosamente,
>
> Caio Spadafora,
> Database Administrator,
> http://0011brothers.blogspot.com/
>
> ________________________________
> De: Bruno Lorenzini 
> <[email protected]<listas.distribuicao%40gmail.com>
> >
> Para: Oracle BR <[email protected]<oracle_br%40yahoogrupos.com.br>
> >
> Enviadas: Quarta-feira, 20 de Janeiro de 2010 12:48:43
> Assunto: [oracle_br] Lock estranho
>
>
> Bom dia pessoal,
>
> Estou com uma dúvida. Hoje tenho um processo que faz a carga de uma tabela
> gigantesca. Tentei carregar esses dados e o processo ficou extremamente
> lento.
>
> Eu apenas desabilito triggers de tabela destino, e uso um bulk-insert..
>
> Detectei que no momento do insert ocorriam locks de outras tabelas que não
> estavam sendo carregadas.
>
> Percebi que as tabelas que deram locks eram tabelas que possuíam FK para
> essa tabela ou a tabela possui FK pra essas tabelas (todas estavam
> inter-relacionadas) .
>
> Decidi então desligar as FK’s e rodar em modo de debug até o momento do
> lock. Não ocorreu.
>
> Isso é possível? Alguém sabe explicar porque o Oracle fez isso? Porque isso
> atrapalhou a performance do meu processo?
>
> Obrigado pela ajuda pessoal.
>
> Bruno Lorenzini
>
> [As partes desta mensagem que não continham texto foram removidas]
>
> __________________________________________________________
> Veja quais são os assuntos do momento no Yahoo! +Buscados
> http://br.maisbuscados..yahoo.com
>
>
> [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/[email protected]/ 
--------------------------------------------------------------------------------------------------------------------------
>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:
    [email protected]

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


Responder a