Fórum Erro banco gds_#receive failed #47405

13/10/2004

0

Ola amigos,

Estou com este erro pela terceira vez, uso Interbase 6.0 Delphi 6, servidor Linux Debian. o banco principal esta com 2.0gb.

Apos alguns dias de uso do sistema, informa erro nas estacoes ´request netword host 192.168.XXXX´.

Quando faço gfix nao apresenta erro, mas no backup tanto pelo ibconsole quanto gbak, apresenta erro em alguma tabela ´gds_receive failed´, e para o backup.

Sou obrigado a dar um drop na tabela com este erro e continuar com backup e depois restore.

Até o momento as tabelas com erro sao recuperaveis, o problema é o transtorno ao cliente devido a paralisacao e a possivel perda de uma tabela nao recuperavavel devido as inconsistencias de dados.

Obrigado.


Bibi

Bibi

Responder

Posts

13/10/2004

Tap_pedroso

estou precisando de uma forcinha e acho q vc pode e ajudar, vc pode me dizer como usar o gfix?

para q serve o gbak?

agradeço desde já


Responder

Gostei + 0

13/10/2004

Aroldo Zanela

estou precisando de uma forcinha e acho q vc pode e ajudar, vc pode me dizer como usar o gfix? para q serve o gbak? agradeço desde já

Colega,

Recomendo uma pesquisa no fórum ou a abertura de uma thread específica para o seu problema.


Responder

Gostei + 0

13/10/2004

Aroldo Zanela

Ola amigos, Estou com este erro pela terceira vez, uso Interbase 6.0 Delphi 6, servidor Linux Debian. o banco principal esta com 2.0gb. Apos alguns dias de uso do sistema, informa erro nas estacoes ´request netword host 192.168.XXXX´. Quando faço gfix nao apresenta erro, mas no backup tanto pelo ibconsole quanto gbak, apresenta erro em alguma tabela ´gds_receive failed´, e para o backup. Sou obrigado a dar um drop na tabela com este erro e continuar com backup e depois restore. Até o momento as tabelas com erro sao recuperaveis, o problema é o transtorno ao cliente devido a paralisacao e a possivel perda de uma tabela nao recuperavavel devido as inconsistencias de dados. Obrigado.

Colega,

Nunca fui usuário do IB6, mas pelo que sei o limite teórico do mesmo é de 2Gb e isso pode ser o problema. É possível fazer uma limpeza no banco, visando uma drástica redução?


Responder

Gostei + 0

13/10/2004

Gandalf.nho

Será que não adiantaria migrar a base para Firebird?


Responder

Gostei + 0

13/10/2004

Vinicius2k

[quote:fa56937407=´Aroldo Zanela´]Nunca fui usuário do IB6, mas pelo que sei o limite teórico do mesmo é de 2Gb e isso pode ser o problema. É possível fazer uma limpeza no banco, visando uma drástica redução?[/quote:fa56937407]
Acho que não necessariamente... já pelo que eu sei, o limite está atrelado ao tamanho máximo de arquivo suportado pelo O.S, no caso, 2 GB é para Win 9X/Me (FAT32) e 4 GB para plataforma NT (NTFS) e Linux* (tive informações vagas de que não seriam todas as distros do Linux que permitiriam 4 GB, mas como não trabalho com ele, não sei se existe algum fundamento nisso...)
Como o colega usa Linux, não creio que seja limitação do O.S, e ao que me parece, é uma falha do IB com um arquivo tão grande... (mera suposição em virtude da mensagem)...
Na minha opinião, uma tentativa de migração para o Firebird, como sugerido pela gandalf, é a melhor alternativa no momento... como é relativamente simples desinstalar um servidor e instalar outro (isso no Windows, não sei no Linux) seria a forma mais rápida de eliminar uma possibilidade...
T+


Responder

Gostei + 0

14/10/2004

Afarias

Quantos arquivos afinal tem esse banco de dados?? Qual o page_size do mesmo??

Eu acho q já está na hora de você adicionar um novo arquivo -- Se não me engano no linux o limite é 2Gb por arquivo.

Qual a versão do seu IB ?? A partir do 6.0.1.6 ele deve retornar um erro quando o arquivo chegar ao seu limite, infelizmente, versões anteriores corrompiam a base.

Já passou GFIX -MEND no banco e depois tentou realizar o backup?



T+


Responder

Gostei + 0

18/10/2004

Bibi

afarias
|Quantos arquivos afinal tem esse banco de dados?? Qual a page_size do mesmo??

- Este banco tem 490 tabelas, antes estava com page_size 4096, e recentemente aumentei para 8192 na tentativa de solucionar, contudo nao adiantou.

|Eu acho q já está na hora de você adicionar um novo arquivo -- Se não me engano no linux o limite é 2Gb por arquivo

- Nao sei realmente qual o limite de tamanho por arquivo no Linux, contudo se for apenas 2 GB, creio ser pouco tal limite !!!!


|Qual a versão do seu IB ?? A partir do 6.0.1.6 ele deve retornar um erro quando o arquivo chegar ao seu limite, infelizmente, versões anteriores corrompiam a base.

- No about do IBCONSOLE apresenta version 1.0.0.315


Conforme alguns comentaram, estou seriamente pensando em migrar ou para Interbase 7.1, ou para Firebird, mas antes de migrar realmente gostaria de descobrir a causa deste erro, pois se eu migrar talvez nao entenda o que causou o erro.

Por enquanto estou de maos atadas, rezando pra que nao corrompa o banco novamente.


Alguem tem mais alguma ideia ?


Responder

Gostei + 0

18/10/2004

Bibi

Ups... desculpe esqueci desse detalhe.

afarias disse:

|Já passou GFIX -MEND no banco e depois tentou realizar o backup?

-Sim, tentei varios parametros de gfix, inclusive -m

gfix -m -f -i -user sysdba -password xxxxxx dados.gdb

ocorre o mesmo erro

gds_receive failed,


Só consigo fazer backup de der um drop nas tabelas com erro e fazer restore, antes de dar um drop faço um extract como insert deste banco corrompido e apos restaurar insiro os dados novamente.


Responder

Gostei + 0

18/10/2004

Afarias

|Este banco tem 490 tabelas, antes estava com page_size 4096, e
|recentemente aumentei para 8192 na tentativa de solucionar, contudo
|nao adiantou.

Mudar o page_size não adianta, só queria a informação (por outro motivo) -- bem, mas vc não me falou quantos ARQUIVOS tem seu banco de dados... Estou achando q apenas 1 e isso é seu problema, vc deve criar novos arquivos visto q ja atingiu o limite de 2Gb por arquivo (limite este do Interbase 6.0)


|- Nao sei realmente qual o limite de tamanho por arquivo no Linux,
|contudo se for apenas 2 GB, creio ser pouco tal limite !!!!

Sim, no Linux é 2Gb (na maior parte das distribuições pelo menos), vc deve sim adicionar 1 novo arquivo a seu banco de dados

Esse limite é apenas no IB 6.0, mas note q não é um limite do tamanhh do banco de dados, é apenas o limite do tamanho dos arquivos do banco de dados. Um banco de dados pode conter vários arquivos.


|- No about do IBCONSOLE apresenta version 1.0.0.315

O IBConsole não interessa a vc. Tem q estar atento a versão do Interbase.


|Conforme alguns comentaram, estou seriamente pensando em migrar
|ou para Interbase 7.1, ou para Firebird, mas antes de migrar realmente
|gostaria de descobrir a causa deste erro, pois se eu migrar talvez nao
|entenda o que causou o erro.

O que causou o erro foi o fato de vc atingir o limite do arquivo de banco de dados e não ter adicionado novos arquivos. O Interbase 6.0 tinha um limite de 2GB por arquivo no Linux e 4Gb no Windows NT, quando vc tem um banco maior q esse limite, deve adicionar mais arquivos.

Essa limitação foi removida nas versões atuais do IB e no FB com a implementão do I/O de 64bits, no FB 1.0 já havia uma versão com este suporte entretanto é importante vc verificar a sua distribuição Linux quanto a compatibilidade e tb tomar conhecimento dos compatibilidades/limites impostos por cada sistema de arquivo seja no Linux ou Windows.


|Por enquanto estou de maos atadas, rezando pra que nao corrompa o
|banco novamente.

Adicione 1 novo arquivo a sua base e isso não ocorrerá.


|-Sim, tentei varios parametros de gfix, inclusive -m
|gfix -m -f -i -user sysdba -password xxxxxx dados.gdb
|ocorre o mesmo erro gds_receive failed,

gfix -v -f

depois

gfix -m -i

depois

backup/restore


|Só consigo fazer backup de der um drop nas tabelas com erro e fazer
|restore, antes de dar um drop faço um extract como insert deste banco
|corrompido e apos restaurar insiro os dados novamente.

certifíque-se q a base esteja OK, adicione 1 novo arquivo, faça um backup e restaure para validar tudo.



T+


Responder

Gostei + 0

18/10/2004

Bibi

[b:e59893c342]afarias[/b:e59893c342]

Muito obrigado pelas dicas, e obrigado a todos que contribuiram para esclarecer minhas duvidas.


Valeu

T+


Responder

Gostei + 0

18/10/2004

Bibi

Duvida. !!!! tamanho banco.gdb.


[b:c0f3ebed76]afarias[/b:c0f3ebed76] escreveu:

| Sim, no Linux é 2Gb (na maior parte das distribuições pelo menos), vc deve sim adicionar 1 novo arquivo a seu banco de dados

Esse limite é apenas no IB 6.0, mas note q não é um limite do tamanhh do banco de dados, é apenas o limite do tamanho dos arquivos do banco de dados. Um banco de dados pode conter vários arquivos. |

- o banco ´dados.gdb´, tem 2.1GB, voce quer dizer que um table nao pode ter mais que 2 GB ou o dados.gdb nao pode ter mais que 2 GB. ???


Responder

Gostei + 0

18/10/2004

Afarias

|o banco ´dados.gdb´, tem 2.1GB, voce quer dizer que um table nao pode
|ter mais que 2 GB ou o dados.gdb nao pode ter mais que 2 GB. ???

o arquivo físico ´dados.gdb´ não pode ter mais q 2GB

as tabelas são apenas elementos lógicos, não se preocupe com elas.

um banco de dados pode conter diversos arquivos físicos (ex: banco.gdb + banco2.gdb + banco3.gdb + ...)

para adicionar um novo arquivo físico ao seu banco de dados, e aproveitar para não deixar isso ocorrer novamente, vc faz::

ALTER DATABASE ADD FILE ’banco2.gdb’ LENGTH nnn
ADD FILE ’banco3.gdb’;


onde nnn é o número máximo de páginas q o segundo banco vai ter. Se estiver usando 4096 acho q nnn pode ser 500000 (acho q isso dá 2GB se não me engano, verifique quantas páginas seu banco tem atualmente)

note q neste exemplo estou adicionando 2 arquivos e não apenas 1, isso serve pq quando o IB esgotar o 2º arquivo ele automaticamente vai para o 3º arquivo evitando que este problema volte a ocorrer com vc.

vc pode tb dividir seu banco durante o restore do backup, exemplo::

gbak -r arquivo.gbk banco.gdb 480000 banco2.gdb

onde 480000 é o número de páginas máximo do arquivo 1 ´banco.gdb´ (veja ai o melhor número para vc) após isso o restante da base vai para o arquivo 2 ´banco2.gdb´


T+


Responder

Gostei + 0

18/10/2004

Bibi

[b:483d00754f]afarias[/b:483d00754f]


Mais uma vez muito obrigado, vou adicionar mais arquivos fisicos e estudar a possibilidade de migrar para Firebird ou Interbase 7.


Valeu mesmo.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar