[firebase-br] Transação travada

cpd em itauto.com.br cpd em itauto.com.br
Qua Maio 15 16:12:54 -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