[firebase-br] Transações em Limbo
Carlos H. Cantu
listas em warmboot.com.br
Qua Jul 29 16:43:23 -03 2015
Gladiston, sua definição de limbo (no Firebird) não está correta.
Uma transação em limbo só ocorre quando uma transação está associada a
mais de uma conexão, e no momento do commit, devido a problemas na
rede, ela não pode ser commitada em uma (ou mais) das conexões
envolvidas.
Com isso, a transação fica em limbo porque o Firebird não tem como
saber como o usuário deseja resolver o problema. Fica a critério do
usuário decidir se o Firebird deve commitar ou dar um rollback nas
transações em limbo (através das opções enviadas ao gfix).
Sugiro a leitura de http://www.firebirdsql.org/manual/gfix-transactions.html
[]s
Carlos H. Cantu
www.FireBase.com.br - www.firebirdnews.org
www.warmboot.com.br - blog.firebase.com.br
GS> Cara limbo, é limbo.
GS> Deixa eu explicar, não sou católico, mas a definição de limbo em sistemas
GS> vem daí, para dizer que seus dados foram esquecidos, neste caso
GS> propositalmente.
GS> O firebird não liga para o que tá no limbo, o limbo só entram em ação
GS> quando ocorre um sinistro que corrompa seus dados, daí ele (o firebird) sai
GS> varrendo o limbo e substitui as informações corrompidas com versões mais
GS> velhas, porém consistentes. É uma abordagem diferente de outros sistemas
GS> que usam um arquivo de log adicional para reverter dados corrompidos.
GS> Em 29 de julho de 2015 11:16, Cezar Augusto <cezar.atl em gmail.com> escreveu:
>> Gostaria de tirar uma dúvida...
>> No Firebird 2.5 é possível executar um select nas tabelas de monitoramento
>> e saber quais transações estão em "limbo" ?
>> Através do gfix tranquilo, mas gostaria de saber se tem como fazer isso
>> através das tabelas de monitoramento...
>> Desde já agradeço.
>>
>> Cezar
Mais detalhes sobre a lista de discussão lista