[firebase-br] RES: Retorno gStat
Thiago
thiagortk em rtkomp.com.br
Qua Maio 2 17:55:25 -03 2012
Fiquei em dúvida em relação aos valores do gstat. Em um artigo do firebase
diz que se a diferença entre Oldest active e Next transaction for muito
grande, pode indicar que as transações estão ficando abertas por muito
tempo. E, se a diferença entre Next Transaction e Oldest Transaction for
maior que 20.000, pode indicar que o sweep automático está desligado.
Eu tenho um banco 24x7 com muitos acessos simultaneos e os valores
retornados pelo gstat são:
Database header page information:
Flags 0
Checksum 12345
Generation 958461
Page size 16384
ODS version 11.0
Oldest transaction 958448
Oldest active 958448
Oldest snapshot 958448
Next transaction 958449
Bumped transaction 1
Sequence number 0
Next attachment ID 3
Implementation ID 24
Shadow count 0
Page buffers 0
Next header page 0
Database dialect 3
Creation date Jun 21, 2011 11:09:48
Attributes
Variable header data:
Sweep interval: 20000
*END*
Nós desligamos o gc automatico e colocamos um gfix -sweep no cron do linux 5
vezes ao dia, verificamos todas as aplicações para ficarmos seguros de que
todas estão com commit/rollback, mas esses valores não mudam. Só se existe
algum problema na lib do firebird para java.
Esses valores são preocupantes? Pelo que andei lendo acho que sim.
O que posso tentar fazer para acertar esses valores, alem do backup/restore?
pois posso fazer isso somente 1 vez ao mês.
-----Mensagem original-----
De: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br] Em
nome de Carlos H. Cantu
Enviada em: quarta-feira, 2 de maio de 2012 15:45
Para: FireBase
Assunto: Re: [firebase-br] Retorno gStat
Não dá pra "eliminar" a OIT :) Faça um sweep no banco para que ela
avance o máximo possível.
[]s
Carlos H. Cantu
www.FireBase.com.br - www.firebirdnews.org
www.warmboot.com.br - blog.firebase.com.br
HEP> Boa tarde lista.
HEP> Estava com um tempo e resolvi pesquisar sobre o gStat, rodei ele e uma
linha
HEP> me chamou a atenção:
HEP> Oldest Transaction: 8767, procurei pelo o que significa: Informa qual o
HEP> número da OIT
HEP> (Oldest Interesting Transaction), ou seja, a transação mais antiga que
não
HEP> esteja com o
HEP> status de *commit*, ou seja, *ativa*, *limbo *ou *rolled-back*.
HEP> Fonte: http://www.firebase.com.br/fb/artigo.php?id=1127
HEP> Então fui olhar o gfix (Fonte:
HEP> http://www.destructor.de/firebird/gfix.htm)
HEP> ao qual é possível dar um rollback nas transações ativas, -r all,
HEP> então rodei o seguinte comando:
HEP> gfix -user xxx -pas xxx -r all banco.fdb
HEP> e rodei novamente o gstat e o valor do Oldest Transaction continua lá,
HEP> rodei novamente o gfix, agora com -r 8767 (numero da oldest
transaction) e
HEP> obtive o seguinte retorno:
HEP> transaction is not in limbo
HEP> -transaction 8767 is committed
HEP> Como faço para eliminar essa oldest transaction?
______________________________________________
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