Fórum Commit nao faz o arquivo gdb crescer! #41848

28/01/2004

0

Olá Lista

Estou usando os contros do interbase nativos do delphi(IBQuery, IBTransact,
IBDatabase).
Acesso ao firebird embedded(onde somente um database consegue ser
conectado(acesso exclusivo)).
Quando executo query de inserção por exemplo, o arquivo não é atualizado (nao aumenta de tamanho) portanto se eu desligar a maquina eu perco tudo.
Ele só é atualizado quando eu desconecto o IBDAtabase.
Isto aconetece mesmo eu dando StartTransaction e commit no IB transact.
Alguem tem alguma sugestão?

-> Não posso desconectar ao fim de cada transação <-

Muito obrigado,

Atenciosamente
Rafael Colucci


Colutti

Colutti

Responder

Posts

28/01/2004

Maicongabriel

Eu realmente não sei como trabalha o firebird enbarcado, mas por exemplo, você já verificou nas propriedades deste banco se o ´Forced Writes´ está marcado ?


Responder

Gostei + 0

28/01/2004

Colutti

Opa

Eu nao faco a minima ideia do que seja isso ... isso e uma metodo de algum control, uma propriedade do gdb ? sera que vc poderia dar um exemplo de como checo isso?

Obrigado
Rafael Colucci


Responder

Gostei + 0

28/01/2004

Maicongabriel

Para mudar a propriedade ´Forced Writes´ de um banco pode-se utilizar o gfix ::
{ o gfix esta na pasta Bin do IB/FB e é um programa em modo caracter! }

Ativar::
gfix banco -write sync -user SYSDBA -password masterkey

Desativar::
gfix banco -write async -user SYSDBA -password masterkey

{ banco é o caminho e nome do GDB/FDB
senha pode diferir, mas a padrão é masterkey } :wink:


Responder

Gostei + 0

28/01/2004

Afarias

|Quando executo query de inserção por exemplo, o arquivo não é
|atualizado (nao aumenta de tamanho) portanto se eu desligar a maquina
|eu perco tudo.

Só pq vc não vê o arquivo crescer não quer dizer q a informação não está lá. Não se preocupe com isso, pois é normal -- O IB vai gerenciar o espaço no arquivo aproveitar algum espaço existente ou pedir mais ´espaço´ para o sistema operacional quando achar necessário.

Vc não está usando Arquivos como faz com Paradox, DBase e afins -- o IB é um SGBD completo.


PS: Fique atento apenas a dica sobre o FORCED WRITES


T+


Responder

Gostei + 0

29/01/2004

Colutti

Muito obrigado pela ajuda ... mas sem querer se chato e ja sendo ...

qual a diferenca em estar ligado ou nao o forced writes? em que isso implica na pratica?

Muito obrigado pela atencao
Rafael Colucci


Responder

Gostei + 0

29/01/2004

Maicongabriel

O uso do ´Forced Write´ em servidores/maquinas rodando Windows é muito importantes, pq o ´Windows´ tem a mania de querer controlar a situação e assim ele simplesmenete deixa todas as ´alterações em cache´, para salva-las no momento em que ele(windows) achar mais conveniente, ou seja, grandes chances de perder os dados! Já em servidores linux não é tão perigozo quanto a isso. ok ?


Responder

Gostei + 0

29/01/2004

Colutti

OK. Muito obrigado mesmo pela ajuda.

Rafael Colucci


Responder

Gostei + 0

29/01/2004

Afarias

|pq o ´Windows´ tem a mania de querer controlar a situação e assim ele
|simplesmenete deixa todas as ´alterações em cache´,

Isso não é uma prática apenas do Windows. Isso acontece em qualquer SO e não pq quer ´controlar a situação´ mas por questões de performance.

Os servidores WindowsNT (NT4,2K,XP) e o Linux são mais seguros (quanto a perda de dados) que sistemas com outros Windows (95/98/Me), simplesmente pq são mais robustos e menos sucetíveis a falhas de hardware (travamentos em geral).

Mas TODOS eles, mantem alterações em cache -- algo muito natural por sinal.


T+


Responder

Gostei + 0

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

Aceitar