[firebase-br] Transação travada
cpd em itauto.com.br
cpd em itauto.com.br
Qua Maio 15 17:05:14 -03 2013
Uma vez vi um comando desse no site do Firebase , mais qndo fica a transacao
parada , nao consegui associar o numero da transacao com algum registro da
tabela mon$attachments , qual campo eu poderia fazer a pesquisa
ref a numeracao que aparece no DeadLock ?
ate estou tentando ver com essa consulta que peguei do site . mais nao ta
mostrando o mesmo numero da transacao igual ao que ta nesse select . nao sei
se esse o correto . se alguem puder tambem me ajudar
agradeço .
select
mon$transaction_id,
mon$attachment_id,
mon$state,
mon$timestamp,
mon$top_transaction,
mon$oldest_transaction,
mon$oldest_active,
mon$isolation_mode,
mon$lock_timeout,
mon$read_only,
mon$auto_commit,
mon$auto_undo,
mon$stat_id,
case mon$isolation_mode
when 0 then 'Consistency'
when 1 then 'Concurrency'
when 2 then 'Read Committed Record Version'
when 3 then 'Read Committed'
else 'Unknown'
end as Desc_Isolation,
case MON$LOCK_TIMEOUT
when -1 then 'Infinite Wait'
when 0 then 'No wait'
else 'Timeout ' || cast(MON$LOCK_TIMEOUT as varchar (20))
end as Desc_TimeOut
from mon$transactions
order by 1
Adilson .
-----Mensagem Original-----
From: Carlos H. Cantu
Sent: Wednesday, May 15, 2013 9:32 AM
To: FireBase
Subject: Re: [firebase-br] Transação travada
Se vc estiver usando o FB 2.1 ou superior, vc pode monitorar as
transações, conexões, etc. através das tabelas de monitoramento
(MON$).
No FB 2.1 vc pode cancelar um comando dando um delete na tabela
mon$statements. No FB 2.5 vc também pode cancelar uma conexão dando
delete no registro dela na tabela mon$attachments.
[]s
Carlos H. Cantu
www.FireBase.com.br - www.firebirdnews.org
www.warmboot.com.br - blog.firebase.com.br
LB> Bom dia Senhores,
LB> Tenho um sistema WEB - (PHP) com banco de dados Firebird. O sistema e
bem
LB> robusto e grande, devido ao negócio que estamos inseridos.
LB> Minha dúvida é a seguinte:
LB> Ocorre que algumas vezes algumas transações congelam no banco de dados,
de
LB> forma que se eu tentar fazer alguma alteração no registro "congelado" o
LB> banco de dados não deixa, pois ocorre deadlock (Normal é uma segurançã
do
LB> banco de dados e isso é conceito de transação, só abre uma nova
transação
LB> se a anterior estiver sido concluida), porém como disse, em alguns casos
LB> uma simples transação de UPDATE em apenas um campo de um registro
congela
LB> por horas.
LB> Minha pergunta é:
LB> Como faço para cancelar a transacao que congelou? Se eu tentar abrir
outra
LB> transacao no registro ele acusa deadlock e informa o numero da
transacao,
LB> eu consigo encerrar essa transação na "unha"? Existe recurso no firebird
LB> que eu consiga monitorar transações abertas no banco de dados ou ate
mesmo
LB> saber quantas transações meu banco realiza por dia?
LB> Grato pela atenção de todos.
LB> Atencisoamente.
______________________________________________
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