Interbase - usando o gfix |
Top Previous Next |
|
// dica 1
Não dá para saber quais são as reações de um banco de dados corrompido, mas aproveite para ver o que está acontecendo enquanto você ainda conecta nele
você tem que passar o "gfix -v -full database.gdb" e verificar as mensagens que ele dá
Resumindo , você tem que fazer uma operação de Backup / Restore muuito bem sucedida para ter certeza de que o banco está ok
=============================================================================== // dica 2
// Diagnosticando e reparando corrupção em Bases de Dados Alguns tipos de corrupção em bases de dados podem ser reparados com utilitários do Interbase como o gfix e o gbak. Contudo em cados raros existe a possiblidade de um ficheiro de bases de dados estar corrompido para além da capacidade dos utilitários para reparar o ficheiro.
A causa mais frequente de corrupção é a perda repentina de energia no servidor de bases de dados, mesmo numa máquina Windows com uma bases de dados Local Interbase. Desligando a corrente quando uma aplicação está em processo de escrita num ficheiro (como é o caso de uma base de dados) pode resultar na escrita errada ou incompleta de dados no ficheiro.
O utilizador da bases de dados deve utilizar todos os meios ao seu alcance para prevenir tais perdas de energia.
Os vários tipos de corrupção em bases de dados que podem ser corrigidos podem na maior parte dos casos ser reparados com o utilitário gfix. Trabalhe sempre numa cópia da base de dados e nunca na base de dados em produção.
Utilize o sistema operativo para realizar uma cópia da base de dados. É necessário o acesso exclusivo à base de dados para realizar este comando.
Unix
$ cp atlas.gdb atlas_test.gdb
Windows
copy atlas.gdb atlas_test.gdb
Verificar a corrupção da base de dados. É necessário o acesso exclusivo à base de dados para realizar este comando, mas como estamos a trabalhar com uma cópia da bases de dados isto não constitui um problema .
gfix –v -f atlas_test.gdb
Corrigir a corrupção na base de dados. Só efectuar este comando se o comando anterior reportar corrupção da base de dados.
gfix –m -i atlas_test.gdb
Verificar se a corrupção na base de dados foi corrigida.
gfix –v -f atlas_test.gdb
Se o utilitário gfix ainda reportar corrupção na base de dados, vai ser necessário tomar outras medidas para reparar a base de dados. O procedimento de backup/restore irá criar uma nova base de dados, sem versões antigas de registos, sem fragmentação de páginas, índices e histórico de transações recém criados.
gbak -g –b –z –v atlas_test.gdb atlas.gbk
Se existir corrupção em registos de transações não terminadas, deve-se incluir a opção –l ao comando anterior para ignorar transações não finalizadas.
Criar uma nova base de dados do backup. Isto irá criar uma nova base de dados, sem versões antigas de registos, sem fragmentação de páginas, índices e histórico de transações recém criados.
gbak -g –c –z –v atlas.gbk atlas_new.gdb
Verificar se existe corrupção na base de dados.
gfix –v -f atlas_new.gdb
========================================================================
gfix -rollback all siauc.gdb (Cancelar todas as transações em Limbo (pendentes e incertas) gfix -online siauc.gdb (Resetar o Banco) gfix -v -f siauc.gdb (Validação e Correção do Banco)
Caso der erro: gfix -m -i siauc.gdb e repita o comando anterior para ver se o erro foi corrigido.
gfix -s siauc.gdb (SWEEPING) * Executar Backup do Banco: gbak -z -v -t siauc.gdb siauc.gbk
|