SORGES / SORGES LIGHT – Compactar e corrigir

Nesse artigo demonstrarei como usar as funções compactar e corrigir, disponíveis no módulo ferramentas do SORGES e do SORGES LIGHT.

O módulo pode ser aberto pelo atalho SORGES – Ferramentas, na área de trabalho. As duas funções citadas estão no botão COMPACTAR/CORRIGIR:

Note que dentro da pasta do banco de dados nesse momento só haverá o arquivo do banco de dados, o DBGESTAO.FDB. Ao acionar a função o sistema pergunta qual das duas deseja executar, COMPACTAR ou CORRIGIR.

A função COMPACTAR utiliza a ferramenta gbak do Firebird e faz um backup e uma restauração consecutivamente, o que reorganiza o banco de dados. Imagine que você adiciona um cliente, adiciona 10 produtos, faz 20 vendas, lança 5 contas no caixa, faz mais 10 vendas, adiciona mais 5 produtos. Cada uma dessas tabelas fica numa posição dentro do arquivo físico do banco de dados, e conforme vai incluindo dados o sistema vai alocando espaço dentro do arquivo, fazendo ele crescer. Porém você vai ter uma venda armazenada num ponto do arquivo, outra venda armazenada em outro, e assim por diante, porque o arquivo vai crescendo conforme a demanda. Essa rotina de compactação vai reorganizar tudo, colocando os clientes, os produtos, as vendas, e todos os demais dados juntos, de forma organizada, o que vai facilitar para o Firebird acessar e organizar essas informações, deixando seu sistema um pouco mais rápido. Por isso é recomendável fazer isso ao menos uma vez ao mês.

Já a função CORRIGIR faz algo parecido, mas ela também usa a ferramenta gfix do Firebird, para corrigir erros na base. Se a base não tiver erros não faz sentido usá-la, e um erro no software não necessariamente é problema na base. Então na prática, a menos que você tenha domínio de bases Firebird não saberá se é adequado usar essa função, por isso recomendamos falar com nosso suporte antes.

Após acionar uma das rotinas, podem aparecer algumas telas pretas, do prompt de comando do Windows. Note que alguns arquivos serão criados na pasta dados.

No final do processo, uma mensagem indicando a conclusão deve aparecer, e ela pode mostrar uma redução no tamanho da base, que em alguns casos pode ser grande. Isso é normal porque durante a realocação dos dados o Firebird faz uma limpeza do que já foi excluído e uma otimização no espaço, o que reduz o tamanho da base.

Quanto aos arquivos na pasta, teremos o DBGESTAO.FBK, que é o backup criado pelo gbak, e você pode até apagar ele. Também teremos o próprio banco de dados, o DBGESTAO.FDB, e teremos outro backup, esse criado pelo nosso sistema, o DBGESTAO.OLD. Esse “.old” é uma cópia exata do DBGESTAO.FDB antes da operação ser executada, e ele é criado porque as vezes a operação pode falhar, ou a base de dados ter algum problema pequeno que ocasione a falha. Aí se você perder a base de dados, ou se o programa não abrir mais, pode remover o DBGESTAO.FDB e renomear o .OLD para .FDB. Porém, se você reiniciar o computador, repetir o processo, e o problema persistir, isso pode indicar uma corrupção na base de dados. Nesse caso pode tentar fazer um pump conforme indicado nesse artigo, ou entrar em contato com nosso suporte para receber orientações: https://soriodev.com.br/ajuda/sorges-como-fazer-um-data-pump/