quarta-feira, 10 de dezembro de 2008

Recuperando banco de dados FireBird





Recuperando banco dados feito em FireBird.
Entre no CMD
Iniciar> Executar –
CMD
No meu caso tenho FireBird 1.5. Sua instalação como padrão fica em:
C:\Arquivos de programas\Firebird\Firebird_1_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_1_5\bin
Antes de mais nada, realize uma copia 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.
1)Passo 1
SET ISC_USER=SYSDBA
SET ISC_PASSWORD=masterkey
















2:  Passo 2
Vamos agora verificar se nosso banco de dados esta corrompido.
gfix -v -full DADOS.FDB
(Se o camando acima retornou algum aviso, vamos recuperar nosso banco.)















3:Passo 3
(Recuperar banco), caso retorno algo no Passo 2.
gfix -mend -full -ignore DADOS.FDB
vamos repetir o comando do Passo 2 para verificar se continua com erro.
4:Passo 4
gfix -v -full DADOS.FDB



Caso o banco continue com o erro mesmo executando as etapas 2,3 e 4, vamos executar o seguinte comando.
5:Passo 5

gbak -backup -v -ignore DADOS.FDB DADOS.FBK

Observe nesta imagem, que foi criado o arquivo DADOS.FBK
6.Passo 6
Use o comando caso o gbak falhe, caso não falhe pule para etapa 7.
gbak -backup -v -ignore -garbage DADOS.FDB DADOS.FBK

7. Passo 7
Agora crie um novo BD a partir do backup realizado na
Etapa 5:
gbak -create -v DADOS.FBK NOVO.FDB


10 comentários:

Anônimo disse...

Muito bom, me ajudou muito. Estarei providenciando um sistema feito em delphi para fazer este processo automaticamente e postarei aqui no seu blog. Abraços e Fiquem com Deus.
Estou tentando fazer um sistema usando ftp para acesso remoto. Já tenho o domínio e um sistema semi-pronto, tenho tb visualizador de QRP com fontes e algum conhecimento. Interessados: add msn: fernandes.eds@hotmail.com

Anônimo disse...

Salvou minha vida ! Valeu
Abraços

Obrigado, Deus !

Anônimo disse...

Muito bom post.
É de pessoas assim, que não ocultam informações que o mundo precisa.
Obrigado, me ajudou muito. Deus o abençoe!

Dirceu Morais disse...

Ajudou bastante, mas depois de recriado o banco é bom se use o seguinte comando para coloca-lo online.

gfix -o DADOS.FDB

Romulo disse...

Muito obrigado pelo artigo. Deus te abençoes.

janderson disse...

bom quando eu começo a rodar o com gfix ai pede a senha do banco que no caso "masterkey" mais nao passa disso senha é essa mesmo assim nao aceita
o que pode ser?

Unknown disse...

Muito bom! Mas quando utilizo estes comandos com DADOS.GBD não consigo continuar os procedimentos. O que pode estar acontecendo? Só funciona com DADOS.FBD?

IBSurgeon disse...

O IBSurgeon FirstAID é a ferramenta que pode
automaticamente diagnosticar e reparar bases de dados
Firebird corrompidas - ele pode reparar corrupções
que nem o gbak nem gfix podem lidar.

Unknown disse...

Olá, meu banco de dados não aparece como disponível, após uma corrupção no HD. Copiei o banco de dados que consegui recuperar do HD corrompido, mas aparentemente o arquivo não é uma base de dados válida. Não consigo usar nenhuma das ferramentas, sempre aparecendo essa mensagem: "is not a valid database". Pode ajudar?
Obrigado!
Cristiano

Cabeça disse...

Acabou de salvar várias pessoas, muito obrigado e parabéns