Boa Noite Pessoal!
Resolvi publicar uma experiencia que eu tive com a recuperação de uma base de dados utilizando o GFIX do Firebird 2.1.7
Primeiro eu queria falar sobre a primeira experiência que tive..
Um dia um cliente entrou em contato informando que não conseguia acessar um sistema de Automação Comercial SIC, pois é...
Logo de cara identifiquei que o erro era referente ao EXE do sistema não estar conseguido comunicar com a base de dados.
Em seguida fiz algumas verificações tais como:
1 - Consultei o Status do Serviço do Firebird (e o mesmo estava em execução)
2 - Desinstalei o Firebird 2.1.7 e instalei novamente
3 - Exclui o arquivo de conexão no Regedit e fiz a conexão novamente
4 - Reiniciei a maquina do cliente
Após a execução desses procedimentos o problema persistiu, ai sim comecei a considerar que a base de dados do cliente estava possivelmente corrompida!
Para fazer a manutenção na base de dados com o GFIX vamos utilizar o CMD do Windows.
1° Passo
Abra o CMD do windows preferencialmente com privilégios de administrador, e execute os seguintes comandos na ordem a seguir:
cd \
cd "Progran Files"
cd Firebird
cd Firebird_2_1
cd bin
- Importante fazer uma copiá do banco de dados antes da execução dos passos a seguir
(Agora vamos verificar se o Banco de Dados está corrompido)
2° Passo
gfix.exe -v -f (caminho_do_banco_de_dados) -user (nome _de_usuário_do_banco_de_dados) -pass (senha_do_usuário_do_banco_de_dados)
Como ficou o meu --> gfix.exe -v -f c:\Sistema\BD\arqsistema.gdb -user SYSDBA -pass masterkey
(Agora vamos executar a correção do banco de dados)
3° Passo
gfix.exe -m -i (caminho_do_banco_de_dados) -user (nome _de_usuário_do_banco_de_dados) -pass (senha_do_usuário_do_banco_de_dados)
Como ficou o meu --> gfix.exe -m -i c:\Sistema\BD\arqsistema.gdb -user SYSDBA -pass masterkey
(Após a execução do passo 3, execute o passo 1 novamente para verificar se a base foi corrigida caso não prossiga com o passo 4)
(Gerar um backup da base de dados utilizando o GBAK)
4° Passo
gbak.exe -g -b -z -l -v (caminho_do_banco_de_dados) (caminho_do_banco_de_dados + nome do backup utilizando a extensão .FBK)
-user (nome _de_usuário_do_banco_de_dados) -pass (senha_do_usuário_do_banco_de_dados)
Como ficou o meu --> gbak.exe -g -b -z -l -v c:\Sistema\BD\arqsistema.gdb c:\Sistema\BD\arqsistema.fbk -user SYSDBA -pass masterkey
*Importante para a execução do passo a seguir, deixe na pasta do banco de dados somente o arquivo de backup gerado no passo anterior
(Executar a restauração do backup)
5° Passo
gbak.exe -g -c -z -v (caminho_do_backup_do_banco_de_dados) (caminho + nome_da_base_de_dados) -user (nome _de_usuário_do_banco_de_dados) -pass (senha_do_usuário_do_banco_de_dados)
Como ficou o meu --> gbak.exe -g -c -z -v c:\Sistema\BD\arqsistema.fbk c:\Sistema\BD\arqsistema.gdb -user SYSDBA -pass masterkey
(Agora execute o passo 1 novamente e identifique se o problema foi resolvido)
É isso pessoal no meu caso resolveu espero ter ajudado alguém que esteja com esse tipo de problema!!!
Caso alguém tenha alguma sugestão para melhorar este tópico ou identificar algum erro aqui contido basta responder a esse tópico!
Abraço a todos!
Atenciosamente,
Michael de Mattos
Analista de Sistemas & Técnico em Informática