[firebase-br] Ref. Corrupção banco de dados
Esron Toledo
esron.toledo em fatorm.com.br
Ter Jul 31 17:21:15 -03 2012
Segue abaixo os modelos pelo cmd.
-Comando para Fazer Backup pelo Fire Bird
gbak -b -v -i {caminho}NOME_BANCO_ORIGEM.GDB
{caminho}NOME_BANCO_BACKUP.GDK -user SYSDBA -password masterkey --
***** RECUPERANDO BANCO FIREBIRD *******
1) Garantir que não hajam outros usuários logados no banco
2) Validando estrutura corrompias e liberando fragmentos de registros não
atribuídos ou páginas órfãs
gfix -v -full {caminho}NOME_BANCO.GDB -user SYSDBA -password senha
3) Caso erros de checksun persistam, utilizar -i para ignorá-los na
validação
gfix -v -n -i {caminho}NOME_BANCO.GDB -user SYSDBA -password senha
4) Consertando páginas corrompidas
gfix -mend -full -ignore {caminho}NOME_BANCO.GDB -user SYSDBA -password
senha
5) Após utilizar o mend valide a estrutura do banco novamente
gfix -v -full {caminho}NOME_BANCO.GDB -user SYSDBA -password senha
6) Limpando e Restaurando o Banco de Dados
6.1) Efetuando backup
gbak -b -v -i {caminho}NOME_BANCO_ORIGEM.GDB
{caminho}NOME_BANCO_BACKUP.GDK -user SYSDBA -password senha
6.1.1) Em caso de erro de coleta de lixo utilize -[g] (sem coletar o lixo)
gbak -b -v -i -g {caminho}NOME_BANCO_ORIGEM.GDB
{caminho}NOME_BANCO_BACKUP.GDK -user SYSDBA -password senha
6.1.2) Em caso de erro na limpeza do LIMBO utilize -[l] (sem limpar o limbo)
gbak -b -v -i -g -l {caminho}NOME_BANCO_ORIGEM.GDB
{caminho}NOME_BANCO_BACKUP.GDK -user SYSDBA -password senha
6.2) Criando um novo banco de dados a partir da cópia de backup
gbak -create -v {caminho}NOME_BANCO_BACKUP.GDK
{caminho}NOME_BANCO_NOVO.GDB -user SYSDBA -password senha
6.2.1) Opções para tentar contarnar possíveis erros na restauração
-i[nactive] : Restaura o backup sem ativar os indices, após isso
poderão ser ativados um a um para identificar o índice danificado
-o[ne_at_a_time] : Confirma cada tabela restaurada, assim pode-se
identificar tabelas eventualmente danificadas
7) Verificando se o novo banco de dados foi restaurado e corrigido
gfix -v -full {caminho}NOME_BANCO.GDB -user SYSDBA -password senha
Em 31 de julho de 2012 16:38, Omar Marques Haddad
<omarhaddadm em gmail.com>escreveu:
> Boa tarde,
>
> Estou com um banco em Firebird 2.1 no SO Windows XP.
>
> Estou tentando fazer um backup e tentar recuperá-lo, mas mesmo após usar o
> GIFX tenho obtido a seguinte mensagem no meio do backup:
>
> Comando usado: gbak -backup -l -ig -i -v -ignore -garbage
> integracao_nsj.fdb integracao_nsj.fbk
>
> PS: Ja usei
> gfix -mend -full -ignore INTEGRACAO_NSJ.FDB
>
>
> gfix -backup -v -ignore INTEGRACAO_NSJ.FDB
>
>
> gbak:0 records written
> gbak: writing data for table GHD
> gbak:0 records written
> gbak: writing index PK_LICPREGAOHABILITACAO
> gbak: writing index FK_LICPREGAOHABILITACAO_1
> gbak: writing data for table LICPREGAOHABILITACAO
> gbak:0 records written
> gbak: writing index PK_GBLOQUEIOREQUISICAODIRETA
> gbak: writing index FK_GBLOQUEIOREQUISICAODIRETA_1
> gbak: writing data for table GBLOQUEIOREQUISICAODIRETA
> gbak:0 records written
> gbak: writing index PK_LICPREGAORECURSO
> gbak: writing data for table LICPREGAORECURSO
> gbak:0 records written
> gbak: writing index PK_LICPREGAOITENSRECURSO
> gbak: writing data for table LICPREGAOITENSRECURSO
> gbak:0 records written
> gbak: writing index PK_LICPREGAOHISTORICO
> gbak: writing data for table LICPREGAOHISTORICO
> gbak:0 records written
> gbak: writing index PK_GCONTRATOPUBLICACAO
> gbak: writing data for table GCONTRATOPUBLICACAO
> gbak:0 records written
> gbak: writing index PK_LICPREGAOFORNHAB
> gbak: writing data for table LICPREGAOFORNHAB
> gbak:0 records written
> gbak: writing index LICPREGAOFORN_N_HAB
> gbak: writing data for table LICPREGAOFORN_N_HAB
> gbak:0 records written
> gbak: writing index PK_LICFOREXIPRODUTO
> gbak: writing data for table LICFOREXIPRODUTO
> gbak:0 records written
> gbak: writing index PK_LICEXIGENCIALICPRODUTO
> gbak: writing data for table LICEXIGENCIALICPRODUTO
> gbak:0 records written
> gbak: writing index PK_LICEVENTOSPREGAO
> gbak: writing data for table LICEVENTOSPREGAO
> gbak:0 records written
> gbak: writing index PK_REPOSITORIO_DADOS
> gbak: writing index FK_REPOSITORIO_DADOS
> gbak: ERROR:database file appears corrupt
> (D:\#STARTEAM_FONTE\#BANCOS\INTEGRACAO_NSJ.FDB)
> gbak: ERROR: wrong page type
> gbak: ERROR: page 15992 is of wrong type (expected 4, found 5)
> gbak: ERROR:gds_$compile_request failed
> gbak:Exiting before completion due to errors
>
> Existe alguma forma de ajustar esta página com tipo errado ?
>
>
> Agradeço a todos
>
>
> --
> Att.
> Omar Marques Haddad
> Analista de Sistemas Sênior
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
--
**
*
*
*
*
*
*
*
*
Mais detalhes sobre a lista de discussão lista