[firebase-br] Entendendo melhor o Gstat
José Carlos Oliveira
jc_oliveira2001 em yahoo.com.br
Ter Nov 22 08:39:11 -03 2005
Ola pessoal,
Gostaria que alguém pudesse me ajudar a entender melhor este comando do Firebird: GStat -h
Conforme os artigos do Carlos Cantu na revista DB FreeMagazine edições 01 e 02 que podem ser baixados gratuitamente em http://www.dbfreemagazine.com.br/, ele 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, o que sugere uma falha no controle transacional da aplicação cliente que faz acesso ao BD."
1- C:\>gstat -h 'meu banco de dados' (as 10:00hs com os aplicativos rodando)
Oldest transaction 198
Oldest active 199
Oldest snapshot 199
Next transaction 12256
2 - C:\>gstat -h 'meu banco de dados' (as 10:30hs com os aplicativos rodando)
Oldest transaction 198
Oldest active 199
Oldest snapshot 199
Next transaction 13148
3 - C:\>gstat -h 'meu banco de dados' (as 10:40hs com os aplicativos parados)
Oldest transaction 198
Oldest active 199
Oldest snapshot 199
Next transaction 13308
4 - C:\>gstat -h 'meu banco de dados' (as 10:41hs com os aplicativos rodando novamente)
Oldest transaction 13308
Oldest active 13309
Oldest snapshot 13309
Next transaction 13330
O que estou percebendo é que o Oldest active e Next transaction só é atualizado quando eu me desconecto completamente do banco e me conecto novamente.
Trabalho com o Delphi6 e MDO (Testei com os componentes da palheta do Interbase e o resultado não muda)
Todas as mudanças no banco de dados estou fazendo por SQL:
Ex:
SqlText := 'UPDATE CAD_LEITORA SET Config=IntToStr(Config_MCA) WHERE ENDERECO= IntToStr(Endereco)';
try
DM.MDOQuery1.SQL.Clear;
DM.MDOQuery1.SQL.Add(SqlText);
DM.MDOQuery1.Close;
DM.MDOTransaction.StartTransaction;
DM.MDOQuery1.ExecSQL;
DM.MDOTransaction.Commit;
except
begin
DM.MDOTransaction.RollBack;
end;
end;
DM.SQL_LEITORA.Active := False;
DM.SQL_FindLeitora.Active := False;
DM.SQL_LEITORA.Active := True;
DM.SQL_FindLeitora.Active := True;
O que será que está errado?
[]'s
José Carlos Oliveira
-------------- Próxima Parte ----------
No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.1.362 / Virus Database: 267.13.4/176 - Release Date: 20/11/2005
Mais detalhes sobre a lista de discussão lista