[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