Boa Idéia
Copiando registros de um banco de dados corrompido
Recentemente a empresa na qual sou consultor foi contratada pela prefeitura de uma grande capital para prestar treinamento e consultoria
Para ter uma idéia do tamanho do desafio, o banco tinha aproximadamente 120 milhões de registros armazenados em pouco mais de 30 tabelas, o que gera um arquivo com 19 GB. Como se o volume de informação já não fosse um desafio suficientemente grande, a análise do banco de dados mostrou que o mesmo estava corrompido.
Este artigo descreve o trabalho que foi realizado para que fosse possível copiar as informações do banco de dados corrompido. Antes disso, mostra rapidamente qual o ambiente encontrado e os principais passos que foram tomados antes da cópia dos dados.
Avaliação da estrutura
O primeiro passo a ser feito sempre que se deseja melhorar o desempenho de uma aplicação é avaliar o servidor (hardware) em que ela está rodando. Muitas vezes comprar um novo equipamento, ou melhorar o existente, não gera o ganho de desempenho esperado, fazendo com que o gasto não se justifique.
O servidor usado pelo cliente tinha dois processadores, 2 GB de memória RAM, discos rígidos de 10 mil RPMs e sistema operacional Windows 2000 Server. Ou seja, o equipamento era de alta qualidade e havia pouco o que melhorar.
Avaliação das configurações do banco de dados
A versão instalada do Firebird era a 1.5, rodando como SuperServer. Embora muitos ainda considerem a versão Classic a ideal, testes realizados demonstraram que a arquitetura SuperServer é bastante estável em servidores de alta qualidade. Esse caso é mais um exemplo.
Avaliamos também a forma de gravação dos dados. O banco de dados estava configurado para usar cache de gravação do tipo write throug (padrão de instalação do Firebird
Outro ponto avaliado foi o tamanho do cache das páginas de dados e de índices. Constatou-se que o tamanho era de 120 MB, dada a quantidade de memória disponível e também o número de usuários conectados, avaliamos que o tamanho estava apropriado.
" [...] continue lendo...