Fórum BackUp Firebird #358168
08/05/2008
0
Fui fazer o Backup via IBexpert de um banco Firebird com 107 tabelas e 94 generators e trigers ,sem procedures no banco, só através do zeosdbo no executavel
É sobre em uma base de dados de teste que posso apagar.
Dá os seguintes erros
Unsuccessfull execution.....message lenght error (encountered 94 ,expected 90)
Então apaguei a base de dados e zerei os generator e da o seguinte erro.
Arritmetic overflow or division by zero has ocurred.... or string truncation.
Marquei ignore chek sums , limbo transaction e o problema permanece
Quando faço o backup dos metadados apenas ,então não há problema o backup roda até fim
Pelo o que pesquisei estes eventos podem estar relacionados a banco corrompido
Segui os caminhos de comando no prompt para utilizar o gfix
gfix -v -full banco_de_dados.gdb (testar se corrompido.)
mas sempre da a mensagem para se referir aos comando listados -não reconhe o comando
Sobre o exposto alguem poderia me dar alguma dica?
Agradeço desde já.
Rm
Curtir tópico
+ 0Posts
08/05/2008
Joaoshi
Se você consegue identificar a tabela que esta dando problemas, tente o seguinte:
SELECT NomeDoCampo FROM NomeDaTabela WHERE [b:a7501474ce]CHAR_LENGTH[/b:a7501474ce](NomeDoCampo) > 90;
Espero ter ajudado.
Gostei + 0
08/05/2008
Joaoshi
Gostei + 0
08/05/2008
Rm
Rodei o gfix -v c:\bd\banco.fdb -user xxxxx -password xxxxxxx
Não retorna nenhum erro.Ainda assim o backup continua travando com as mensagens listadas acima. (???)
Gostei + 0
09/05/2008
Rm
Então passei o gfix -m para corrigir o banco mesmo o comando gfix -v não tendo retornado erro.
O Gfix -m listou
Number of record level erros:1
Number of database page errors:1
Gostei + 0
10/05/2008
Rm
O IBExpert tem comandos para a mesma funcionalidade do GFIX
>Service>Data base validation
Revisar campos
Entre 4000 campos precisei conferir a estrutura das tabelas (meta data) se em algum campo copiado de uma tabela para outra existia algum com extensão diferente.Deve ter uma maneira mais facil mas o que fiz foi exportar a metadata >tools >extract metadata, marcar extact all e exportei para um arquivo.Copie os dados para uma planilha excel e ordenei (AZ) ou filtrei para conferir.
Até agora corrigi alguns e apaguei os dados mas continua dando erro
Gostei + 0
10/05/2008
Rm
Receita para corromper um banco:Altere os campos em tabelas já com registros.
Pelo IB Expert Fiz o backup apenas da metadata
Pelo IB Expert Fiz o restore somente da metadata
No restore abre form de senha como USER SYSDBA não esqueça de trocar para o user/senha do banco em questão
Nestes procedimentos o banco deve estar desconectado
Então o backup com dados funcionou.Ainda bem que só tinha registros de teste.
Coloco estes procedimentos aqui para se alguem mais precisar .Seria bom se os mais experientes contribuissem aumentando o tópico.
O caminho que levou-me a solução teve inicio com o post do colega joaoshi a quem agradeço.
Gostei + 0
10/05/2008
Catunda
Gostei + 0
11/05/2008
Rm
Tenho uma base de teste configurada para bd local. Percebi o problema quando fui criar aplicativo de backup via componente delphi.Como dava erro fui no ibexpert.O erro continuou .Fiz pelo GFIX e o erro continuou.Uma das possiveis causas de não rodar o backup era que tentava com o bd conectado.Não tentei pelo servidor do firebird.Poderia me dar detalhes?
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)