Tabela de conteúdos

Definição

Sweep é um processo de limpeza do banco de dados, reciclando páginas antigas, reduzindo inventário de transações, limpando transações que não são mais úteis, etc. O padrão é que este processo seja executada automáticamente, assim que o banco de dados chegue em um determinado intervalo entre a Oldest Snapshot Transaction e a Oldest Interesting Transaction, intervalo este que pode ser configurado. A desvantagem de confirmar somente no uso automático do Sweep é que em um banco grande isso causa lentidão devido ao fato que a cada transação o banco de dados checar todas as outras transações em busca de registros em lock por exemplo, sendo assim é aconselhavel além de manter o sweep automático, determinar um intervalo de períodos onde o banco de dados passe a apresentar problemas de performance, para a execução do sweep manual.

Comandos

Todos os comandos a seguir são utilizados a partir do utilitário GFIX distribuído no pacote de instalação do banco de dados Firebird

Desabilitar Sweep Automático

gfix -user NOME_DO_USUARIO -password SENHA_DO_USUARIO ALIAS_OU_PATH_DO_BANCO -h 0

Ativando Sweep e determinado intervalo

o comando a seguir ativa o sweep automático no banco de dados a cada 50.000 transações entre o intervalo de OST/OIT

gfix -user NOME_DO_USUARIO -password SENHA_DO_USUARIO ALIAS_OU_PATH_DO_BANCO -h 50000

Forçar Sweep Manual

gfix -user NOME_DO_USUARIO -password SENHA_DO_USUARIO ALIAS_OU_PATH_DO_BANCO -sweep

Observação

Backup e Restore já executa o processo de Sweep automaticamente.

Referencias

http://www.destructor.de/firebird/gfix.htm
http://www.firebase.com.br/fb/artigo.php?id=2196