Problema Corrupção de Tabelas INTERBASE 6.0
Pessoal tenho um programa par automação de farmácia
e algumas farmacia são pequenas e não um No-Break.
Quando derrepente é só cair a energia ou até mesmo o computador
travar e o usuário precisa resetar já era a base, as vezes corrompe
algumas tabelas que estão sendo utilizadas no momento, algumas vezes o banco de dados todo fica inascessivel.
Alguem já passou por isso e conseguiu solucionar ?. Já coloquei a propriedade Forced Writes p/ true e não adiantou.
Obrigado a tds !!
e algumas farmacia são pequenas e não um No-Break.
Quando derrepente é só cair a energia ou até mesmo o computador
travar e o usuário precisa resetar já era a base, as vezes corrompe
algumas tabelas que estão sendo utilizadas no momento, algumas vezes o banco de dados todo fica inascessivel.
Alguem já passou por isso e conseguiu solucionar ?. Já coloquei a propriedade Forced Writes p/ true e não adiantou.
Obrigado a tds !!
Essistemas
Curtidas 0
Respostas
Vinicius2k
13/11/2004
Colega,
Não tem solução sem no-break... o máximo que vc poderia fazer, vc já vez que é ajustar o Forced Writes.
Infelizmente, se seus clientes não proverem um hardware adequado para abrigar um SGBD, vc estará sempre de mãos atadas...
T+
Não tem solução sem no-break... o máximo que vc poderia fazer, vc já vez que é ajustar o Forced Writes.
Infelizmente, se seus clientes não proverem um hardware adequado para abrigar um SGBD, vc estará sempre de mãos atadas...
T+
GOSTEI 0
Gandalf.nho
13/11/2004
Tente migrar para Firebird 1.5 que é considerado mais robusto e menos sensível a corrupção.
GOSTEI 0
Christian_adriano
13/11/2004
Olá Vinicius,
Gostaria de saber qual a função ´Forced Writes´, e como ajusta-lo ?
flw..
[]´s.
Christian.
Gostaria de saber qual a função ´Forced Writes´, e como ajusta-lo ?
flw..
[]´s.
Christian.
GOSTEI 0
Vinicius2k
13/11/2004
Olá Christian !
Ligar o Forced Writes é ajustar o banco de dados para o modo de escrita síncrona. Isto orienta o servidor IB a não armazenar os dados no cache do Sistema Operacional, forçando a gravação direta em disco.
A escrita síncrona pode reduzir significativamente a performance da aplicação, principalmente, em operações de atualização ou inserção de grande volume de dados porque existirá um grande número de I/Os, mas em contra partita diminui muito a possibilidade de corrupção no banco, já que, sem dados ´vagando´ no cache, os dados no banco serão sempre consistentes... salvo quando a queda do servidor ocorre durante alguma operação de gravação.
Para ajustar vc pode usar o GFIX com a linha :
Síncrona :
Assíncrona :
Os bancos criados no Firebird, desde a versão 1.0, já estarão no modo de escrita síncrona por default, portanto o ajustar para síncrona só é necessário em bancos criados no IB 6 (não sei sobre os IB 6.5 e 7.x).
T+
Ligar o Forced Writes é ajustar o banco de dados para o modo de escrita síncrona. Isto orienta o servidor IB a não armazenar os dados no cache do Sistema Operacional, forçando a gravação direta em disco.
A escrita síncrona pode reduzir significativamente a performance da aplicação, principalmente, em operações de atualização ou inserção de grande volume de dados porque existirá um grande número de I/Os, mas em contra partita diminui muito a possibilidade de corrupção no banco, já que, sem dados ´vagando´ no cache, os dados no banco serão sempre consistentes... salvo quando a queda do servidor ocorre durante alguma operação de gravação.
Para ajustar vc pode usar o GFIX com a linha :
Síncrona :
gfix BANCO.GDB -write sync -user USUARIO -pass SENHA
Assíncrona :
gfix BANCO.GDB -write async -user USUARIO -pass SENHA
Os bancos criados no Firebird, desde a versão 1.0, já estarão no modo de escrita síncrona por default, portanto o ajustar para síncrona só é necessário em bancos criados no IB 6 (não sei sobre os IB 6.5 e 7.x).
T+
GOSTEI 0
Gandalf.nho
13/11/2004
Não esqueça que se migrar um banco de IB 6 para FB, verificar se o Forced Writes está ligado ou não (a conversão não liga automaticamente)
GOSTEI 0