[firebase-br] Ajuda com lock conflick
Eduardo Jedliczka - TeamFB
jedyfb em gmail.com
Ter Mar 4 11:29:46 -03 2008
Lock conflict acontece quando você tem duas transações tentando alterar
os mesmos dados numa transação no-wait (ou quando já acabou o tempo de
espera definido no FB 2.X)
Dead Lock é quando a transação A alterou um registro X e está
agurandando para alterar o registro Y e a transação B alterou o registro
Y e está aguardando para alterar o registro X. ou seja, estas condições
nunca serão satisfeitas!!!
Como dizem nos treinamentos e certificações para DBA (Independente do
banco de dados).... Dead Lock é "falha do programador da aplicação"...
Para "minimizar", tente reduzir (o máximo possivel) o tempo de cada
transação aberta (e lembrar de commitar os dados).
Em caso de rotinas de importação, recálculo de saldo, e ajustes, refaça
a lógica da rotina usando um "memory table" para organizar (classificar
em ordem alfabética, código, data, etc...) os dados de algum modo que
"elimine" ou "reduza drasticamente" a possibilidade de se alterar um
produto/cliente/conta/registro "Y antes de X"...
Sucesso,
Eduardo Jedliczka
Em Seg, 2008-03-03 às 14:25 -0300, Marcelo escreveu:
> Boa tarde pessoal,
>
> Tenho uma dúvida, na verdade um erro que ocorre, eu tenho um
> processo que dispara a cada venda finalizada, e algumas vezes 1 ou 2 em cada
> 100 acontece de me retornar a seguinte mensagem, lock conflick on no wait
> transaction deadlock, update conflicts with concurrent update, isto quando
> mudo o status da venda para fechada através de uma trigger ele dispara uma
> procedure que gera movimentação financeira, e de estoques.
>
> Bom, já fiz uma devassa e não consigo descobrir o pq desta mensagem,
> há alguma maneira de eu descobrir isto, algum soft que possa colocar no
> servidor que me traga um log com maiores informações a respeito de onde é
> que está acontecendo este problema, e se por eu fazer o processo via SP no
> banco eu precisaria commitar alguma coisa na SP.
>
> Agradeço por qualquer ajuda.
>
>
> Marcelo I. Barby
> Analista de Sistemas
> mib em teorema.inf.br
>
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use: http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
Mais detalhes sobre a lista de discussão lista