Commit nao faz o arquivo gdb crescer!
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
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
Curtidas 0
Respostas
Maicongabriel
28/01/2004
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 ?
GOSTEI 0
Colutti
28/01/2004
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
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
GOSTEI 0
Maicongabriel
28/01/2004
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::
Desativar::
{ banco é o caminho e nome do GDB/FDB
senha pode diferir, mas a padrão é masterkey } :wink:
{ 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:
GOSTEI 0
Afarias
28/01/2004
|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+
|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+
GOSTEI 0
Colutti
28/01/2004
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
qual a diferenca em estar ligado ou nao o forced writes? em que isso implica na pratica?
Muito obrigado pela atencao
Rafael Colucci
GOSTEI 0
Maicongabriel
28/01/2004
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 ?
GOSTEI 0
Colutti
28/01/2004
OK. Muito obrigado mesmo pela ajuda.
Rafael Colucci
Rafael Colucci
GOSTEI 0
Afarias
28/01/2004
|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+
|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+
GOSTEI 0