[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