Atenção: esse artigo tem um vídeo complementar. Clique e assista!

De que se trata o artigo:

Apresentar uma discussão a respeito das atitudes técnicas e operacionais que podem ser tomadas quando um problema inesperado no banco de dados surge durante o dia a dia de uma empresa.


Para que serve:

O conteúdo apresentado neste artigo serve como um guia para auxiliar nas atitudes a serem tomadas quando um problema emergencial acontece no banco de dados.


Em que situação o tema é útil:

A análise das situações e alternativas apresentadas neste artigo é útil para os DBAs que lidam com equipes de desenvolvimento e que precisem da habilidade de resolver problemas emergenciais de acordo com algumas situações comuns do dia a dia.

Todo o profissional que trabalha com banco de dados na área da computação, seja ele um DBA, um programador, um analista de suporte ou um administrador de infraestrutura, deve possuir a habilidade para resolver problemas inesperados que surgem no dia a dia. Esta habilidade, também conhecida como troubleshooting, é muito importante para manter o correto funcionamento dos sistemas e aplicações computacionais que suportam o modelo de negócio da empresa.

Com base neste contexto, este artigo apresenta uma discussão a respeito das atitudes técnicas e operacionais que podem ser tomadas quando um problema inesperado no banco de dados surge durante o cotidiano de uma empresa. Esta discussão é baseada em questões e alternativas possíveis para a solução dos problemas propostos que evidenciam as atitudes operacionais e que também focam nos aspectos técnicos.

Saber escolher a melhor alternativa para cada situação ou pelo menos a alternativa mais razoável dentre várias é um dos requisitos mais importantes e desejáveis para os profissionais que lidam com tecnologia e sistemas, especialmente bancos de dados e sistemas de missão crítica para a empresa. São vários os benefícios que se obtém ao adquirir esta habilidade incluindo a confiança da gerência, o conhecimento técnico avançado, facilidade para obtenção de recursos e também a autonomia para a realização do trabalho sem supervisão constante.

O ambiente

Antes de apresentar as questões que exploram os problemas no dia a dia é preciso definir um cenário e ambiente para a discussão das mesmas. Vamos imaginar uma empresa de tamanho médio que contém entre 100 e 150 funcionários ou colaboradores. Esta empresa possui um departamento de T.I. (Tecnologia da Informação) que contém desenvolvedores (programadores, analistas e web designers), administradores de infraestrutura (servidores, link com internet, help desk), pessoal de suporte e apenas um DBA. Esta empresa utiliza vários sistemas que incluem ERPs, sistemas de controle de acesso, intranet e um portal na internet coorporativo que realiza transações de B2C (Business to Consumer) e B2B (Business to Business). Do ponto de vista organizacional, existe um gerente que coordena o desenvolvimento e é responsável pela gestão dos programadores, analistas, web designers e do DBA que desenvolvem soluções internas e customizam soluções prontas adquiridas de fornecedores externos. Há também um gerente que coordena os demais profissionais da área técnica: suporte, infraestrutura, fornecedores externos e outros. Além destes, existe um diretor operacional que é superior aos gerentes de desenvolvimento e infraestrutura na hierarquia da empresa.

Do ponto de vista de tecnologia, existem diversos bancos de dados com tamanhos e características variadas em SQL Server, Oracle, MySQL e PostgreSQL, assim como diversas tecnologias utilizadas no desenvolvimento dos sistemas como Java, .NET, PHP, Visual Basic 6.0, Python e outras. Há servidores locais na empresa assim como servidores remotos armazenados em um data center terceirizado. A plataforma é mista e inclui sistemas operacionais de código aberto e fechado, assim como diferentes fabricantes de hardware.

O DBA da empresa, ou seja você, possui o nível pleno e já está acostumado com o ambiente, as aplicações e sistemas que acessam a base de dados. Adicionalmente, as tarefas a serem realizadas fazem parte das tarefas do dia-a-dia de um DBA e desenvolvedores que trabalham com desenvolvimento como, por exemplo, um backup, a importação e exportação de arquivos, a criação de objetos no banco de dados, atribuição de permissão a logins, etc. Contudo, devido à forma desorganizada que as soluções foram desenvolvidas, adquiridas e implantadas, e também devido à diversidade de tecnologias envolvidas é comum acontecerem incêndios, isto é, situações inesperadas que devem ser resolvidas o mais rápido possível pelo DBA.

Além disso, vale a pena destacar que o DBA fez um acordo indicando que ele deve fornecer suporte fora do horário normal de trabalho, uma vez que este tipo de atividade é remunerada de forma diferenciada.

Tarefas inesperadas

Situação 1) O DBA chega para trabalhar, liga o seu computador e descobre que três bancos de dados de dois servidores SQL Server diferentes estão marcados como suspect. Neste momento os funcionários/colaboradores estão começando a chegar e, como os bancos de dados não estão operacionais, a aplicação que faz o controle de ponto não funciona, o que faz com que o horário de entrada dos funcionários não seja computado. O que o DBA deve fazer nesta situação?

a) Não fala nada a ninguém, fica na sua e espera algum chamado urgente ser encaminhado para um desenvolvedor para só então tomar alguma atitude.

b) Já deixa de prontidão os backups e não toma nenhuma atitude antes de receber um chamado urgente de algum usuário ou programador. Quando recebe o chamado gasta mais tempo tentando entender por que os bancos de dados ficaram ...

Quer ler esse conteúdo completo? Tenha acesso completo