banco Interbase corrompido
boa noite pessoal. Tenho um banco de dados Interbase que, toda vez que cai a energia aqui e eu estou no meio de uma transação, o banco de dados fica corrompido
gostaria de uma solução pra isso
obrigado
gostaria de uma solução pra isso
obrigado
Rafael Santana
Curtidas 0
Respostas
Ariovaldo
08/04/2005
Rafael já vivenciei este problema e a unica saída foi colocar um NoBreak, não teve outra saida
GOSTEI 0
Vinicius2k
08/04/2005
Colega,
Para eliminar boa parte dos problemas com corrupção de dados, ajuste seu(s) banco(s) de dados para trabalharem com escrita síncrona, comumente chamada de ´Forced Writes´.
Isto força os dados a serem gravados em disco não ficando armazenados no cache do Sistema Operacional. Esta é a causa da maioria dos problemas com os BDs do IB, que por padrão são criados com escrita assíncrona (isto foi mudado no FB).
Para ajustar o(s) banco(s) use:
[b:5169185a15]gfix -write sync c:\banco\banco.gdb -user SYSDBA -pass senha[/b:5169185a15]
Logicamente, isto não substitui um sistema de backup de energia, mas ajuda a reduzir os problemas.
T+
Para eliminar boa parte dos problemas com corrupção de dados, ajuste seu(s) banco(s) de dados para trabalharem com escrita síncrona, comumente chamada de ´Forced Writes´.
Isto força os dados a serem gravados em disco não ficando armazenados no cache do Sistema Operacional. Esta é a causa da maioria dos problemas com os BDs do IB, que por padrão são criados com escrita assíncrona (isto foi mudado no FB).
Para ajustar o(s) banco(s) use:
[b:5169185a15]gfix -write sync c:\banco\banco.gdb -user SYSDBA -pass senha[/b:5169185a15]
Logicamente, isto não substitui um sistema de backup de energia, mas ajuda a reduzir os problemas.
T+
GOSTEI 0
Rafael Santana
08/04/2005
bom dia, amigo vinicisu2k
irmão, eu passei a usar o firebird agora, e, tô usando o IBExpert... essa opção de forced writes já é Default no Interbase?
e essa linha de comando, onde eu aplico?
[b:e4edcc6694]gfix -write sync c:\banco\banco.gdb -user SYSDBA -pass senha[/b:e4edcc6694]
obrigado!!!!
irmão, eu passei a usar o firebird agora, e, tô usando o IBExpert... essa opção de forced writes já é Default no Interbase?
e essa linha de comando, onde eu aplico?
[b:e4edcc6694]gfix -write sync c:\banco\banco.gdb -user SYSDBA -pass senha[/b:e4edcc6694]
obrigado!!!!
GOSTEI 0
Rafael Santana
08/04/2005
bom dia, amigo vinicisu2k
irmão, eu passei a usar o firebird agora, e, tô usando o IBExpert... essa opção de forced writes já é Default no Interbase?
e essa linha de comando, onde eu aplico?
[b:6e451ce68d]gfix -write sync c:\banco\banco.gdb -user SYSDBA -pass senha[/b:6e451ce68d]
obrigado!!!!
irmão, eu passei a usar o firebird agora, e, tô usando o IBExpert... essa opção de forced writes já é Default no Interbase?
e essa linha de comando, onde eu aplico?
[b:6e451ce68d]gfix -write sync c:\banco\banco.gdb -user SYSDBA -pass senha[/b:6e451ce68d]
obrigado!!!!
GOSTEI 0
Vinicius2k
08/04/2005
Colega,
Vc pode executar o a linha que lhe informei no prompt de comando, dentro da pasta \bin na instalação do IB/FB.
Note que o forced writes não é uma opção do servidor IB/FB e sim do Banco de Dados. Por padrão, todos os bancos criados no FB estarão com o forced writes ligado, mas no IB (até e incluindo a versão 6) não.
Vc pode verificar se o seu banco tem está ou não em forced writes com a linha :
[b:3c963861d0]gstat -h c:\banco\banco.gdb -user SYSDBA -pass senha[/b:3c963861d0]
Se existir em ´Attributes´ a indicação ´force write´ ele já estará habilitado.
T+
Vc pode executar o a linha que lhe informei no prompt de comando, dentro da pasta \bin na instalação do IB/FB.
Note que o forced writes não é uma opção do servidor IB/FB e sim do Banco de Dados. Por padrão, todos os bancos criados no FB estarão com o forced writes ligado, mas no IB (até e incluindo a versão 6) não.
Vc pode verificar se o seu banco tem está ou não em forced writes com a linha :
[b:3c963861d0]gstat -h c:\banco\banco.gdb -user SYSDBA -pass senha[/b:3c963861d0]
Se existir em ´Attributes´ a indicação ´force write´ ele já estará habilitado.
T+
GOSTEI 0