Recuperação de banco de dados


Recuperando banco dados feito em FireBird.
No meu caso tenho FireBird 2.5. Sua instalação como padrão fica em:
C:\Arquivos de programas\Firebird\Firebird_2_5\
Para realizar o processo vamos trabalhar com dois programas que vem junto ao FreBird: gfix, e gbak, arquivos estes que encontrasse na pasta C:\Arquivos de programas\Firebird\Firebird_2_5\bin
Antes de mais nada, realize uma cópia do seu banco de dados, para facilitar nosso trabalho, vamos definir variáveis de ambiente para tornar o processo mais rápido, evitando ficar digitando nome de usuário e senha para todos procedimentos.

Irá precisar de 5 blocos de notas, que serão salvos com a extensão de .bat 
O banco de dados tem que estar no C:\ com o nome de A.fdb (Em nosso exemplo)

1) Passo 1. coloquem o nome de V1.bat
Verificar se o banco de dado esta corrompido ou com erro.
SET ISC_USER=SYSDBA
SET ISC_PASSWORD=masterkey

gfix -v -full C:\A.fdb

pause
Se o comando acima retornou algum aviso, vamos recuperar nosso banco.

2) Passo 2. coloquem o nome de V2,bat (Esse seta a quantidade de erros do banco)
SET ISC_USER=SYSDBA
SET ISC_PASSWORD=masterkey

gfix -mend -full -ignore C:\A.fdb

pause

3) Passo 3. coloquem o nome de V3.bat (Aqui ele irá verificar novamente se o processo dois ajustou ou não o banco se continuar apresentando erros prosseguir senão já ajustado)
SET ISC_USER=SYSDBA
SET ISC_PASSWORD=masterkey

gfix -v -full C:\A.fdb

pause

4) Passo 4. coloquem o nome de V4,bat (Agora começa a fazer o backup)
SET ISC_USER=SYSDBA
SET ISC_PASSWORD=masterkey

gbak -backup -v -ignore -g C:\A.fdb C:\A.fdk

pause

5) Passo 5. coloquem o nome de V5,bat (Agora a reparação e cria um novo banco reparado)
SET ISC_USER=SYSDBA
SET ISC_PASSWORD=masterkey

gbak -create -ig -l -v C:\A.fdk C:\B.fdb -FIX_FSS_D ISO8859_1 -FIX_FSS_M ISO8859_1

pause

Para mim esses .bat são minha salvação em muitos casos algumas vezes o banco de dados após passa pela restauração chega a diminuir bastante de tamanho e chaga a aumenta o desempenho do sistema

Espero ter ajudado. 

Exemplo: Download do exemplo

Um comentário:

  1. BOA TARDE MEU NOME É RICHARDISON AO EXECUTAR EXECUTAR A ULTIMA ETAPA ME DEPAREI COM UM PROBLEMA. UMA VIEW DO MEU BANCO DE DADOS ME PARECE ESTAR COM PROBLEMA, E O GBAK DA UM ERRO JUSTAMENTE NELE. (ERROR: Malformed string exiting before completion due to erros). O QUE FAÇO PARA RESOLVER?

    ResponderExcluir