[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