[firebase-br] Banco de dados consumindo toda a memória do SO

Evandro's mailing lists (Please, don't send personal messages to this address) listasjr em gmail.com
Sex Abr 16 14:06:51 -03 2010


Ola Caro Cantu,

A reparação é lógica. O desenvolvedor tinhas esquecido de colocar um índice
único para a descrição da cidade e desta forma o cliente cadastrou cidades
com nomes repetidos.

Nada demais a menos que o cliente estava com mais de 10.000 cidadas
cadastradas. 5 Salvador, 7 Lauro de Freitas, etc...

O que você quer que eu diga mais? Até o código eu mandei?

Vou fazer um pseudo código resumido:

Para cada cidade:

Comece uma transação
   Procure se a descrição da cidade está repetida para o mesmo estado
     Se for repetida substitua em todo o sistema pela última cidade
cadastrada e apague o código que foi substituido
Finalize a transação

Funciona beleza mas tenho que fazer de duas vezes. Pois na metade do caminho
o FB usa toda a memória do SO.

Obrigado,
-Evandro





2010/4/16 Carlos H. Cantu <listas em warmboot.com.br>

> Aplicação de reparação? Isso sugere que ela está sendo aplicada a um
> banco corrompido. Bancos corrompidos podem gerar situações
> imprevisíveis (dependendo do tipo de corrupção), acredito até mesmo
> gerando algum tipo de loop infinito no Firebird, o que poderia
> explicar o alto consumo de memória.
>
> Não dá pra falar muito mais do que isso só com as informações que vc
> enviou.
>
> []s
> Carlos H. Cantu
> www.FireBase.com.br - www.firebirdnews.org
> www.warmboot.com.br - blog.firebase.com.br
>
> EsmlPdtspm> Caros colegas,
>
> EsmlPdtspm> Fiz uma aplicação de reparação de banco do nosso ERP que
> executa umas 20.000
> EsmlPdtspm> queries sql. Após executá-la o FB começa a consumir memória até
> que ela seja
> EsmlPdtspm> esgotada.
>
> EsmlPdtspm> Por que o FB não para de consumir memória? Ele fica guardando
> cache de todas
> EsmlPdtspm> a queries e nunca libera? Além de desligar o FB, tem outro
> processo para
> EsmlPdtspm> fazer ele liberar a memória consumida?
>
> EsmlPdtspm> Estou dando commit a cada interação do programa (para não usar
> muita memória
> EsmlPdtspm> do FB) e não estou usando query preparada, pois não tenho
> pressa para ter o
> EsmlPdtspm> resultado e sim para programar.
>
> EsmlPdtspm> Estou usando Fb 2.1 com C# .Net provider. Esse problema foi
> reportando em
> EsmlPdtspm> windows 7 com 4GB ram e W Server 2003 com 768MB ram.
>
> EsmlPdtspm> Alguma sugestão?
> EsmlPdtspm> Obrigado,
> EsmlPdtspm> -Evandro
>
>
> ______________________________________________
> 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