Esse artigo faz parte da revista SQL Magazine edição 54. Clique aqui para ler todos os artigos desta edição

pg src="/imagens/imagem_pdf.jpg" width=34 border=0>

 

Banco de dados

Monitoramento de base de dados

Como manter os bancos de dados da sua empresa sob controle

 

A monitoria de base de dados é uma das principais responsabilidades do DBA, não apenas por envolver diversas observações, mas também por englobar todo o gerenciamento, administração, manutenção e melhorias nas bases de dados. Apesar de não ser uma tarefa muito complexa, é preciso contar com vários recursos para estabelecer uma monitoria confiável, segura e que pode representar a diferença entre um ambiente controlado e um ambiente caótico.

Ficar de olho nas bases de dados e seus respectivos servidores são uma tarefa que envolve tanto a parte de software como de hardware. Devido a novas tecnologias, cada vez mais empresas vêm se empenhando em montar diversos ambientes, sejam eles de produção ou não, que devem ser monitorados constantemente. Além destes ambientes, cada sistema adotado pela empresa pode interagir com uma base de dados, o que eleva a responsabilidade de monitoria por parte do DBA.

Neste artigo, veremos na prática como criar uma monitoria de base de dados a partir de um cenário que pode ser encontrado em uma empresa que utiliza bancos de dados. Serão apresentadas técnicas, ferramentas, melhores práticas e algumas dicas de como criar uma monitoria constante, pró-ativa e confiável. Afinal de contas, monitorar corretamente as bases de dados é como vigiar o que acontece no quintal da nossa casa: devemos sempre estar alerta para não sermos pegos desprevenidos em caso de problemas.

O cenário

Antes de começar a falar sobre a monitoria, é preciso entender bem o ambiente na qual ela será aplicada. No cenário adotado neste artigo, uma empresa possui 50 servidores com o SQL Server instalado em diversas filiais espalhadas pelos estados do Brasil. Cada servidor possui, em média, quatro bases de dados que são utilizadas diariamente por diversos sistemas implantados nas filiais. Além dos sistemas, cada filial possui um link de acesso que a conecta com a Internet. Apesar de estarem conectadas com a matriz, cada filial é independente e não possui nenhum tipo de replicação ou transferência de dados entre si. Além disso, colaboradores externos utilizam uma VPN (Virtual Private Network) para se conectar remotamente à rede da empresa.

O único DBA responsável por este parque de servidores fica localizado na matriz da empresa no Rio de Janeiro. A partir da matriz, o DBA consegue se conectar diretamente em cada uma das filiais como se estivesse trabalhando localmente. Neste cenário, o DBA deve procurar montar uma monitoria das bases de dados da melhor maneira possível para garantir que nenhuma das filiais apresente problemas, uma vez que os sistemas utilizados nas filiais são de missão crítica.

As filiais possuem diversos tipos de sistemas, desde aqueles que controlam a marcação de ponto e o acesso a catracas até sistemas de telemarketing, ERP (Enterprise Resource Planning) e a intranet da empresa. Obviamente, nenhum destes sistemas funciona caso seus respectivos bancos de dados apresentem algum problema. Deste modo, é preciso manter os bancos de dados em pleno funcionamento para evitar problemas no uso dos sistemas nas filiais.

Cada servidor possui o Windows 2003 Enterprise e o SQL Server 2005 Standard instalado. É possível realizar a conexão remota aos servidores tanto pelo Management Studio como pelo Terminal Services a partir da matriz da empresa no Rio de Janeiro. O tamanho das bases de dados é variável, mas na média o tamanho fica em cerca de 500 MB de dados. A configuração dos servidores e a qualidade do link são diferentes para cada filial. Cada servidor possui o hardware adequado para o que está sendo utilizado.

Com base neste cenário, vamos especificar o que deve ser monitorado, as ferramentas, técnicas, procedimentos, responsabilidades e ações necessárias para manter cada um dos servidores e suas bases de dados sob controle.

Quem monitora o que?

Antes de começar a elaborar a monitoria é preciso definir alguns detalhes não técnicos. Mais especificamente, é preciso definir as responsabilidades, os itens a serem monitorados, até que ponto certas tarefas devem ser encaradas como monitoria ou não e quais ações podem ser tomadas após a detecção de um problema.

O primeiro ponto a ser tratado pela monitoria é a questão da responsabilidade. É natural que a atribuição de responsabilidade sobre a base de dados seja do DBA, porém é preciso definir um limite neste ponto. Por exemplo, o DBA deve ser responsabilizado se acabar o espaço em disco de um dos servidores? E se o link entre uma filial e a matriz apresentar problemas, de quem é a responsabilidade sobre esta ocorrência?

Enfim, o importante aqui é deixar claro para todos os envolvidos na área até que ponto o DBA é responsável e exatamente em que ponto outras equipes devem assumir responsabilidades que lhes competem. Definir corretamente quem é responsável pelo quê, é um passo na direção certa para evitar a famosa tática de esquiva que muitos profissionais tendem a adotar. Além de definir as responsabilidades recomenda-se oficializar esta definição para evitar dores de cabeça futuras.

O segundo ponto a ser definido é o que especificamente deve ser monitorado. É uma prática comum dividir esta tarefa em diversos níveis para facilitar tanto o tratamento das ocorrências como a divisão de equipes de suporte que tratam especificamente de um determinado nível. A Tabela 1 apresenta uma sugestão de níveis e equipes responsáveis pelo ambiente descrito no começo do artigo.

 

Nível de monitoria

Descrição

Itens a serem monitorados

...
Quer ler esse conteúdo completo? Tenha acesso completo