Compactação do banco FB
Olá!
Gostaria de saber se o Firebird tem algum recurso de compactação/otimização do banco de dados tal como possui o Access por exemplo, que possui em Ferramentas ´Compactar e corrigir banco de dados´.
Pergunto pois estou percebendo que mesmo sem dados em meu banco, pelo simples fato de ficar inserindo e execluindo registros, o arquivo do banco está se tornando maior.
Valeu
rtava
Gostaria de saber se o Firebird tem algum recurso de compactação/otimização do banco de dados tal como possui o Access por exemplo, que possui em Ferramentas ´Compactar e corrigir banco de dados´.
Pergunto pois estou percebendo que mesmo sem dados em meu banco, pelo simples fato de ficar inserindo e execluindo registros, o arquivo do banco está se tornando maior.
Valeu
rtava
Rtava
Curtidas 0
Respostas
Gandalf.nho
23/08/2005
Se precisar fazer isso, basta efetuar um backup/restore.
GOSTEI 0
Rtava
23/08/2005
E como executo isso via código? Ou seja, como uso esse recurso de dentro de meu programa?
Valeu!
Valeu!
GOSTEI 0
Afarias
23/08/2005
|Gostaria de saber se o Firebird tem algum recurso de
|compactação/otimização do banco de dados tal como possui o Access
|por exemplo, que possui em Ferramentas ´Compactar e corrigir banco
|de dados´.
Com o Firebird vc não precisa ter essas mesmas preocupações como com o Access. Basicamente a única manutenção q vc tem q fazer de tempos em tempos é um Sweep.
|Pergunto pois estou percebendo que mesmo sem dados em meu banco,
|pelo simples fato de ficar inserindo e execluindo registros, o arquivo do
|banco está se tornando maior.
O arquivo ficar grande não é problema nenhum
|E como executo isso via código? Ou seja, como uso esse recurso de
|dentro de meu programa?
As ferramentas de linha de comando para manutenção da base são o GFIX e GBAK. Existem também componentes para realizar essas tarefas usando a services API, no IBX vc encontra o IBBackupServices e IBValidationService
T+
|compactação/otimização do banco de dados tal como possui o Access
|por exemplo, que possui em Ferramentas ´Compactar e corrigir banco
|de dados´.
Com o Firebird vc não precisa ter essas mesmas preocupações como com o Access. Basicamente a única manutenção q vc tem q fazer de tempos em tempos é um Sweep.
|Pergunto pois estou percebendo que mesmo sem dados em meu banco,
|pelo simples fato de ficar inserindo e execluindo registros, o arquivo do
|banco está se tornando maior.
O arquivo ficar grande não é problema nenhum
|E como executo isso via código? Ou seja, como uso esse recurso de
|dentro de meu programa?
As ferramentas de linha de comando para manutenção da base são o GFIX e GBAK. Existem também componentes para realizar essas tarefas usando a services API, no IBX vc encontra o IBBackupServices e IBValidationService
T+
GOSTEI 0
Rtava
23/08/2005
Olá afarias!
Você poderia me ajudar com a parte de implementação? Procurei coisas a respeito do GFIX e GBAK, mas não encontrei uma maneira de implementar isso via código no Delphi.
Valeu!
Você poderia me ajudar com a parte de implementação? Procurei coisas a respeito do GFIX e GBAK, mas não encontrei uma maneira de implementar isso via código no Delphi.
Valeu!
GOSTEI 0
Afarias
23/08/2005
Vc pode simplesmente executar as linhas de comando (ShellExecute? CreateProcess?) ou usar os componentes citados (IBBackupService e IBValidationService)
depende... o q exatamente vc está fazendo?! Vê ai e na dúvida posta novamente.
T+
depende... o q exatamente vc está fazendo?! Vê ai e na dúvida posta novamente.
T+
GOSTEI 0
Rtava
23/08/2005
Estou fazendo o seguinte: Em meu BD tem uma tabela que uso para gravar registros temporários, apagando após algum tempo (horas). Reparei que, mesmo após apagar os registros da tabela temporária, o arquivo do BD não diminuia. Aliás, o contrário, sempre aumentava. Daí imaginei que tivesse o mesmo problema de compactação que o Access (por exemplo), sendo necessário fazer a correção do BD de tempos em tempos para eliminar os ´lixos´.
Uma outra coisa que preciso e que imagino que parte do material que você passou já resolva, é fazer a replicação do BD. Ou seja, em havendo uma base de dados em um determinado computador, preciso que o BD seja replicado para outro computador à medida em que for sendo editado, incluído ou excluído registros. Já vi estes recursos no SQL Server e no Oracle. Imagino que o FB também possua algo parecido ou igual... Você tem conhecimento disso?
Obrigado pela ajuda mais uma vez.
Uma outra coisa que preciso e que imagino que parte do material que você passou já resolva, é fazer a replicação do BD. Ou seja, em havendo uma base de dados em um determinado computador, preciso que o BD seja replicado para outro computador à medida em que for sendo editado, incluído ou excluído registros. Já vi estes recursos no SQL Server e no Oracle. Imagino que o FB também possua algo parecido ou igual... Você tem conhecimento disso?
Obrigado pela ajuda mais uma vez.
GOSTEI 0
Afarias
23/08/2005
|Em meu BD tem uma tabela que uso para gravar registros temporários,
|apagando após algum tempo (horas). Reparei que, mesmo após apagar
|os registros da tabela temporária, o arquivo do BD não diminuia.
após apagar os registros faça um Sweep do banco. O arquivo não vai diminuir mas o espaço será reutilizado nos próximos inserts.
|Uma outra coisa que preciso e que imagino que parte do material que
|você passou já resolva, é fazer a replicação do BD.
Para replicação vc tem q usar uma ferramenta de replicação ou desenvolver uma (usando a API do IB/FB) ... existem algumas ferramentas ou componentes (IBO por exemplo) para isso:
http://www.ibphoenix.com/main.nfs?a=ibphoenix&page=ibp_repl_tools
T+
|apagando após algum tempo (horas). Reparei que, mesmo após apagar
|os registros da tabela temporária, o arquivo do BD não diminuia.
após apagar os registros faça um Sweep do banco. O arquivo não vai diminuir mas o espaço será reutilizado nos próximos inserts.
|Uma outra coisa que preciso e que imagino que parte do material que
|você passou já resolva, é fazer a replicação do BD.
Para replicação vc tem q usar uma ferramenta de replicação ou desenvolver uma (usando a API do IB/FB) ... existem algumas ferramentas ou componentes (IBO por exemplo) para isso:
http://www.ibphoenix.com/main.nfs?a=ibphoenix&page=ibp_repl_tools
T+
GOSTEI 0