Hoje, as redes sociais brasileiras surgiram com uma notícia que parecia uma piada de péssimo gosto…
16 mil processos de aposentadorias foram excluídos da base de dados do Tribunal de Contas do Estado do Amazonas (TCE Amazonas) devido à execução imprópria de um script.
Isso nos leva a pensar em várias falhas. Compreenda que não quero julgar o trabalho dos profissionais, mas acho que é importante tirar algumas lições desse episódio …
Lição 1
NUNCA execute qualquer script diretamente no ambiente de produção! Em todas as empresas há um ambiente de teste ou um banco de dados de teste, onde você irá testar seus scripts antes dele ser executado no ambiente produtivo.
Lição 2
WHERE é a vida !!! SEMPRE, você que você precisar escrever um comando DELETE ou um comando UPDATE, escreva primeiro a condição e, depois, escreva o comando. A probabilidade de você precisar alterar ou excluir todos os registros em seu banco de dados é quase nula.
Lição 3
Use transações. Sempre que você criar um script que contenha UPDATE e DELETE, crie uma transação. Se você não sabe sobre as transações, veja meu blog sobre isso (clique aqui) http://db4beginners.com/index.php/2017/10/08/db-relacional-transacao/
Lição 4
Se WHERE é vida, o backup é a ressurreição! (Obrigado Paulo Camargo pela excelente frase! Ele disse isso na minha página do Facebook) http://www.Facebook.com/DB4Beginners
Todos os tipos de banco de dados possuem ferramentas de backup, já que ferramentas nativas ou de terceiros existem elas devem ser usadas! Mais do que isso, você precisa ter uma estratégia de backup efetiva. Por exemplo, um backup total por semana e backups incrementais N vezes por dia. Se ocorrerem problemas, os dados podem ser restaurados. No caso TCE, se a estratégia de backup fosse mais efetiva, a indisponibilidade do sistema seria infinitamente mais curta !!!
Conclusão
“Com grande poder vem grande responsabilidade” *. Você está pronto?
Se você quiser saber o que aconteceu com mais detalhes…
* Tio Ben (Homem Aranha)
** Tks Raul Chavarria!!!
Se você gostou, compartilhe este post! Se você tiver dúvidas, fale comigo.