Um dos mandamentos do bom historiador, aquele que se compromete em
relatar os fatos tal qual realmente aconteceram, é que não se deve,
jamais, praticar a ucronia. Esta palavra, que é derivada da grega utopia, mas com o término remetendo a tempo (da também grega “chronos”)
visa designar um tempo ou fato que não existiu, baseado em alguns
elementos da história real. Ou seja, inventar uma realidade alternativa.
É algo como dizer: “Ah!, se o Dunga tivesse convocado o Adriano, o
Ganso e o Nilmar, com certeza teríamos ganho a Copa do Mundo de 2010”.
Só que isso não aconteceu dessa forma, o resultado foi o que se viu, e
a não ser que você encontre na vida real o Dr. Emmet Brown, ou o Marty
Mcfly da trilogia “De volta para o Futuro”, não há como voltar atrás. E,
sim, este foi mais um exemplo de ucronia.
Trazendo isso para o nosso mundo de sistemas da informação, a questão
é que não há como fugir de erros que cometemos no passado e refletem
agora em nosso presente. Fez uma alteração no banco de dados que não
saiu como queria e não usou controle de transação? Bacana. Também não
tinha feito backup antes da alteração? Lindo. Agora prepare-se para
enfrentar o cliente e seus chefes não tentando esconder o fato, e
procure uma forma de consertá-lo, buscando entre outras coisas seu
backup mais recente. Profissionais que assumem seus próprios erros – e
também procuram consertá-los – alcançam muitas vezes confiança dos seus
superiores.
Mas é preciso saber que há erros e erros, e não podemos permitir
jamais que algo abale as estruturas de nossos clientes perdendo dados
fundamentais nos prevenindo:
- Desconfie sempre do menor e mais bobo script que rodou sem erro
nenhum na base de dados do seu ambiente de teste que possuía uma cópia
gerada ontem de manhã: os dados podem ter mudado. - Evite fazer procedimentos escritos para você executar
passo-a-passo, selecionando os lotes de comandos um por vez: você pode
se esquecer de selecionar alguma condição e afetar mais dados do que
pretendia. - Faça scripts que possam ser reexecutados, mas sem que isso afete
outras informações ou torne inconsistente a informação que foi corrigida
na primeira execução. - Utilize sempre transações para poder voltar atrás se for
necessário. Se você quiser, alguns consoles de gerenciamento de banco
de dados possuem opção para executar toda e qualquer query em uma
transação, mesmo que não explicitado pelo executor. Só tome cuidado
porque esta opção pode mudar de um console para outro ou mesmo de
um servidor para outro. - Faça um backup antes de grandes modificações e mantenha-o
armazenado em lugar seguro por um tempo. Na verdade, por um bom tempo.
Ok, por muito tempo!
Todavia, também ocorre que não somos apenas nós que cometemos os
erros. Às vezes o cliente, que é responsável por proteger suas
informações, também os comete, e por total inocência ou por omissão
nossa:
- A maior parte das vezes que se descobre que o backup programado não
estava sendo feito é justamente quando necessitamos dele para voltar
algum dado. Verifique-os periodicamente. - Há clientes que deixam sua rede escancarada permitindo que várias
pessoas possam se conectar sem dificuldade a seus dados e fazer o que
quiserem. Oriente a configurar um firewall. - Lembre seus clientes que senhas são boas, mas por mais alta que
seja a criptografia alguém pode descobri-las no chute. Cuidado ao fazer
isso para que ele não ache que o seu sistema é que é inseguro por
melhor que seja a segurança. Se o cliente puder, a utilização de tokens
é uma das maiores formas de segurança hoje em dia. - Se a versão do motor de banco de dados usada pelo seu cliente for
uma versão free e que não possui ferramenta automática de backup,
busque algum outro programa no mercado ou desenvolva sua própria
aplicação para realizar o serviço. Aproveite para ganhar pontos com ele. - Se o seu cliente permitir, de vez em quando faça uma cópia do banco
de dados e mantenha-o com você, para o caso de um backup feito por ele
falhar. Mas tome cuidado e seja sigiloso com esses dados.
Acima de tudo, se mesmo com os cuidados, algo de ruim acontecer,
entenda que não se deve olhar para o passado querendo mudá-lo, mas sim
buscando compreendê-lo para verificar o que pode ser corrigido, e se
prevenindo para o futuro. O bom historiador sabe disso. Eu, e agora
você, também.







