BackUp Firebird
Saudações a todos.
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á.
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
Curtidas 0
Respostas
Joaoshi
08/05/2008
Colega, tive um caso parecido o campo continha um valor maior que o tamanho dele.
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.
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
Joaoshi
08/05/2008
Desculpe, ao ler novamente o post percebi
´Então apaguei a base de dados e zerei os generator e da o seguinte erro.´
GOSTEI 0
Rm
08/05/2008
Obrigado João pela atenção.
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. (???)
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
Rm
08/05/2008
Muito certamente o lenght error se refere a campos copiados de uma tabela a outra (varchar) com tamanhos diferentes.Acertei os tamanhos no IBExpert deletei/commit os registros mas o problema continua.
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
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
Rm
08/05/2008
Só para registrar para quem pesquisar mais tarde
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
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
Rm
08/05/2008
A propria ajuda on line do ibexpert orienta usar o GFIX... deve ter alguma razão então...mas não teve jeito....
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.
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
Catunda
08/05/2008
vc tentou fazer o backup do banco supostamente corrompido diretamente no servidor do firebird ao inves do ibexpert?
GOSTEI 0
Rm
08/05/2008
Obrigado por seu post Catunda.
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?
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