[firebase-br] Problema estranho com banco de dados

Rodrigo A. de Freitas rodrigo em solucoeseinformatica.com.br
Qua Dez 3 15:16:54 -03 2008


Olá amigos,

 

Eu estou com um problema esquisito em um cliente. 

 

Tenho um sistema que acessa uma base de dados de aproximadamente 2.5 Gb em
um servidor com um Firebird 2.1.1 CS, instalado em um linux Debian. Há cerca
de 200 usuários simultâneos entre todos os programas, além de uma pequena
aplicação web escrita em PHP que manipula a base de dados. Há cerca de uma
hora nenhum usuário consegue abrir a base de dados e tanto pela aplicação
quanto pelo IBExpert, ao conectar ao banco recebo a mensagem “error reading
data from connection”. Tenho outras bases de dados de outros sistemas no
mesmo servidor que estão conectando e funcionando normalmente.

 

Ao abrir o firebird.log vi que o servidor estava operando normalmente até o
dia 28, quando foi registrado o seguinte no log:

 

 

bd002   Fri Nov 28 04:05:08 2008

            *** DUMP ***

 

bd002   Fri Nov 28 04:05:08 2008

            Tag=-1 Offset=395408 Length=463647 Eof=0

 

bd002   Fri Nov 28 04:05:08 2008

            Clump 255 at offset 0:
<1c>QLA<8a>n<f9><8b>y<97><aa><98>h<db><13><e3>

 

bd002   Fri Nov 28 04:05:08 2008

            Clump 254 at offset 21: !

 

bd002   Fri Nov 28 04:05:08 2008

            Clump 0 at offset 27: /home/databases/lider.fdb

 

bd002   Fri Nov 28 04:05:08 2008

            Clump 1 at offset 57: <00> <00><00>

 

 

A partir daí, praticamente toda instrução do banco passou a gerar um “Clump
X at offset Y”, até o dia de hoje, quando o log registrou o seguinte e o
banco de dados parou de aceitar conexões.

 

 

bd002   Wed Dec  3 08:50:56 2008

            Fatal exception during clumplet dump: Invalid clumplet buffer
structure: buffer end before end of clumplet - clumplet too long

 

 

bd002   Wed Dec  3 09:26:59 2008

            Fatal lock manager error: semaphores are exhausted, errno: 1

 

Liguei para o pessoal de TI do cliente, pedi para que eles reiniciassem o
servidor Debian. Após voltar ao ar, foi possível conectar a base de dados
novamente, mas o log continou registrando a mensagem acima, variando o
“errno” entre 1, 4 e 104.

 

Algo que pode ser uma dica: no dia 28 liberei uma versão nova da aplicação
que continha algumas mudanças grandes e entre elas estavam algumas stored
procedures que utilizam as tabelas de monitoramento do firebird para gravar
em algumas tabelas o IP da conexão do cliente.

 

Alguém tem uma pista do que pode ser tudo isso ? É algum problema com o
servidor ou com a base de dados ?

 

 

Abraços,

 

Rodrigo A. de Freitas

Análise & Desenvolvimento

 

Soluções & Informática

 

 




Mais detalhes sobre a lista de discussão lista