Ao efectuar uma necropsia em um banco de dados recentemente, eu tive um bug que pode ser de interesse para algumas pessoas.

As tentativas para anexar ao banco de dados falhou com o erro "GDS verificar a consistência interna, não pode encontrar dica." Verificando o cabeçalho de dados mostrou que a próxima operação foi número 131596294 e 1024 foi o tamanho da página. Acontece que um byte 1024 página 4016 irá realizar transação estados. Dividindo a próxima operação pelo número 4016 para obter o número sequencial dá gorjeta página 32768,001494. Um número muito interessante.

Existe um bug no InterBase 5.6, 6.01, e os atuais Firebird beta que faz com que o lookup de um inventário página a operação falhar se existirem mais de 32767 páginas transação. Isso torna a operação segura id máximo para um banco de dados com:


1024 páginas 131.596.287 bytes.
2048 páginas 265.814.016 bytes.
4096 páginas 534.249.472 bytes.
8192 páginas 1.071.120.384 bytes.

Embora esses números são grandes, especialmente neste
database excedeu 131 milhões de transações em seis
meses.

Sugestões:

  1. não use uma página tamanho 1024 bytes.
  2. fazer verificar o seu próximo número de transacção, de tempos em tempos.
  3. se você ver o próximo número de transação aproximando do limite, backup e restaurar o banco de dados.
  4. Gfix não irá corrigir este problema, mas eu posso. (Por favor contacte-me para mais detalhes).

    Atenciosamente,

    Ann

Average rating: