Código
Outra medida importante, é configurar adequadamente o modo de escrita (gravação) no banco de dados. O Interbase possui dois modos de escrita:
Síncrona e Assíncrona
Síncrona - Dados são gravados em disco imediatamente.
Assíncrona - É a escrita considerada "cuidadosa", pois os dados são gravados assim que a transação for commitada. A desvantagem é que em ambiente de trabalho windows, estas instruções são ignoradas, uma vez que o próprio sistema operacional controla estas tarefas. Em sistemas como Linux e/ou Unix, este tipo de escrita funciona muito bem.
Na versão 6 do Interbase, assíncrona é a escrita padrão.
Ajustando a escrita
gfix -write sync banco_de_dados.gdb
//ajusta em modo Síncrono
gfix -write async banco_de_dados.gdb
//ajusta em modo Assíncrono
Comandos para reparar o banco de dados
Devem ser definidos primeiramente o usuário e senha de seu banco de dados.
SET ISC_USER=SYSDBA
SET ISC_PASSWORD=masterkey
SET PATH=%PATH%;c:arquiv~1borlandinterb~1bin
Note que a variável SET PATH poderá mudar de acordo com o diretório de instalação do interbase.
Passo a) ( Cópia e Acesso )
Sempre utilize uma cópia do banco de dados corrompido, além de possuir acesso exclusivo ao mesmo.
Proceda então com uma cópia utilizando o próprio windows explorer ou o MS-DOS, ex:
copy banco.gdb copia.gdb
Passo b) ( Verificar )
Verifique se o banco de dados realmente se encontra corrompido utilizando o seguinte comando:
gfix -v -full banco_de_dados.gdb
Caso o comando tenha indicado algum tipo de problema, aí sim iremos começar as rotinas de reparo do banco a seguir.
Passo c) ( Reparar )
gfix -mend -full -ignore banco_de_dados.gdb
È recomendável que repita o passo da letra B novamente para verificar se o banco continua corrompido, caso seja positiva a corrupção faça os procedimentos seguintes.
Backup do Banco de Dados
Veja alguns comandos descritos abaixo:
gbak -backup -v -ignore banco_de_dados.gdb arquivo_de_backup.gbk
Este é o comando em sua forma mais simples. Caso houver necessidade, por falhas no procedimento, por exemplo, poderá optar em incluir outras opções, como descrito abaixo:
Ignorar o "garbage collection".
gbak -backup -v -ignore -garbage banco_de_dados.gdb arquivo_de_backup.gbk
Ignorar transações em limbo:
gbak -backup -v -ignore -garbage -limbo banco_de_dados.gdb arquivo_de_backup.gbk
Após proceder com o backup, poderemos agora finalmente tentar a restauração do mesmo, descartando informações danificadas, corrompidas, etc.
Restaurando o Banco de Dados
Restauração básica:
gbak -create -v arquivo_de_backup.gbk novo_banco.gdb
Caso este procedimento relate erros, tente as seguitnes opções:
Não ativar indices durante a restauração:
gbak -create -v -inactive arquivo_de_backup.gbk novo_banco.gdb
Após a conclusão da restauração, você deverá ativar os índices manualmente.
Restaurar uma tabela de cada vez:
gbak -create -v -one_at_time arquivo_de_backup.gbk novo_banco.gdb
Planeta Delphi - www.planetadelphi.com.br - Todos os direitos reservados | Copyright 2001-2009