Manutenção de banco de dados

Por Sandro Lopes, em 21/01/2013 TaskBlog

Continuando a série de artigos sobre banco de dados, falaremos agora sobre tarefas de manutenção preventiva e corretiva em banco de dados, sua importância e impactos causados por ela.




Em um artigo passado, falamos sobre a importância do DBA e do banco de dados (clique aqui para ler o artigo), que é o responsável pela execução das tarefas de manutenção, e vimos que a operação de Tunning em banco de dados (clique aqui para ler o artigo), melhora a performance das aplicações, porém, isto exige manutenção para que continue funcionando e atendendo as necessidades impostas por ambientes, aplicativos e usuários.

As tarefas de manutenção normalmente são agendadas para execução automática já que é um processo repetitivo, cabendo ao DBA acompanhar se elas foram executadas com sucesso e tomar as medidas necessárias caso apresentem falha.


Existem vários guias de boas práticas para banco de dados, cabendo ao DBA definir a periodicidade e janela de execução das tarefas de manutenção, além de adaptá-las as necessidades da empresa, mas todos estes guias apontam para algumas rotinas comuns, vejamos algumas delas:
Backup

Considerada a mais importante das tarefas de manutenção, uma política de backup bem montada, garante uma forma satisfatória de restabelecer parte dos sistemas da empresa, independente do tipo de desastre que tenha ocorrido. Um SGBD (Sistema de Gerenciamento de Banco de Dados), nos permite fazer backup completo ou somente dos dados alterados, economizando tempo e espaço de armazenamento. Ele pode ser feito ao mesmo tempo em que os usuários utilizam os sistemas corporativos, e nos permite recuperar as informações alteradas indevidamente por alguma rotina, ou retornar as informações para um horário específico, com a precisão de segundos.

Mas o mais importante desta tarefa é validar se os dados gravados no backup podem ser restaurados com sucesso, muitos administradores de TI só descobrem que o backup está com problema quando precisam dele.

Arquivo de Log

O log de transações é um arquivo da base de dados, onde ficam armazenadas todas as instruções de alteração de dados antes que elas sejam gravadas definitivamente na base de dados, por isto o seu crescimento é inevitável. O disco onde este arquivo fica armazenado precisa ser desfragmentado periodicamente, para que a performance de I/O(acesso a disco) não seja afetada. O arquivo de log também precisa ser desfragmentado periodicamente, isto irá melhorar a performance de I/O do banco e diminuir o tempo das consultas e demais instruções. A redução do arquivo de log é outra tarefa importante, já que libera no disco físico, espaço que pode ser utilizado ou outro banco de dados ou pelo sistema operacional do servidor.

Índices e Estatísticas

Ao pegarmos uma revista, identificamos na capa alguns dos assuntos que serão abordados, o mês de circulação da revista, o preço, entre outras informações; ao abri-la procuramos no índice as matérias que mais nos interessam e folheamos até a página indicada; no banco de dados ocorre o mesmo, o SGBD mantém índices e estatísticas sobre cada tabela, estas informações são utilizadas para acelerar as consultas e as alterações nos dados; agora, e se a editora da revista criar um índice incompleto, ou ainda imprimir as páginas fora de ordem ou sem o artigo mencionado? Isto também acontece no banco de dados, sempre que as informações são inseridas, alteradas ou excluídas, os índices e estatísticas precisam ser atualizados para refletirem a nova estrutura, esta ação pode ser automática, agendada ou executada manualmente.
Atualizações

OS fabricantes frequentemente lançam patches de correção e atualização de seus SGBDs, estas atualizações garantem que o SGBD atue de forma estável, seguro e em alguns casos resolve erros de aplicativos que acessam a base de dados. Por outro lado, atualização de versão requer atualização do driver de banco utilizado pelos sistemas, e também pode causar incompatibilidade com sistemas antigos, já que recursos e comandos são descontinuados nas novas versões do SGBD.

ALERTA!

Todas as rotinas de manutenção fazem uso intenso dos recursos do servidor (CPU, Memória, Disco e Rede), portanto não devem ser executadas em horários que prejudiquem os sistemas e os usuários, cabe a área de TI identificar as janelas de execução mais adequada, nem sempre é fácil identificar estes períodos de disponibilidade e mesmo após estas definições pode surgir a necessidade de ajustes. Cito aqui um exemplo real onde foi definida uma janela para a execução do scan do antivírus dos servidores para ter início as 18:00, que pelo ponto de vista de TI é uma janela de baixo impacto já que nenhum ou poucos usuários estão trabalhando, porém, este era o horário de saída dos funcionários da fábrica. Quando era iniciado o scan do antivírus no servidor que controlava as catracas de acesso e ponto eletrônico dos funcionários, os coletores ficavam off-line, porque o servidor estava disponibilizando mais de 90% de CPU para o programa antivírus.

Então, identificar a janela de manutenção mais adequada, depende muito das rotinas das empresas, de suas filiais, seus usuários e dos aplicativos que são utilizados na empresa.

Segue abaixo um presente para quem acompanha o nosso Blog, uma consulta para o Microsoft SQL Server versão 2005 a 2012, que lista os banco de dados mais acessados no servidor, e portanto, merecem uma atenção especial e um plano de manutenção diferenciado.

Comentários

Postagens mais visitadas deste blog

Resetar Senhas do DVR Stand Alone

Convertendo de Aba-Track -> Serial -> Wiegand

Confira passo-a-passo para Configurar ma câmera IP - Vivotek