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

GN: left" align=left>É muito comum no mercado que a empresa contratante espere que o seu DBA seja “fluente em várias línguas”, ou seja, que você seja capaz de lidar com qualquer SGBD. Não importa que você seja especialista ou certificado no SGBD A ou B.

A alta gerência nem faz idéia que o SGBD A é diferente do SGBD B. Portanto eles acham normal que você saia pela empresa resolvendo todos os problemas em qualquer banco de dados como se fosse um simples passe de mágica.

Assim, ou você melhora a sua qualificação técnica ou então melhora a sua capacidade de negociação. Brincadeiras à parte, é claro que é bom que você invista nas duas opções.

Neste artigo, temos um novo problema para você, o DBA faz tudo da ItsMyBusiness.

 

O Problema

Foi aberto um tíquete reportando um problema no sistema da empresa. Para analisar a situação, nós precisamos atualizar uma base de dados de testes trazendo o “dump” dos dados da base no servidor de produção. Tanto a base de testes como a base de produção rodam em ambiente UNIX.

Como a base tem um tamanho considerável, na realidade este dump está dividido em N arquivos DAT. Para este exemplo, vamos considerar que sejam 10 arquivos.

O banco de dados em questão roda em SYBASE, mas isso é o que menos importa neste processo. Só consideramos este ponto para apresentar a sintaxe do comando SQL para atualização da base. Teoricamente, deveríamos ter um padrão ANSI SQL aqui, mas não é exatamente assim que funciona entre os vários SGBDs existentes no mercado.

Este processo todo deve ser realizado no menor tempo possível, pois dele depende a análise do problema citado no tíquete.

 

Nossa missão

Existe um outro DBA na empresa que cuida deste banco em produção, mas ele está muito ocupado com o fechamento do mês e sobrou para você fazer a atualização da base de testes.

Uma vez que o DBA de produção nos libere o dump da base, temos que fazer a transferência de arquivos entre os dois servidores (lembre-se que vamos transferir 10 arquivos).

Feita a transferência, devemos restaurar este dump na base de testes.

Nossa meta é criar um pequeno programa capaz de executar todos os passos necessários para a conclusão do trabalho de tal maneira que possamos reaproveitá-lo da próxima vez que tivermos que repetir o procedimento.

Em outras palavras, SQL é apenas uma parte do nosso problema!

 

Resposta do desafio

Nesta seção, tentarei apresentar os passos da solução de uma forma bem simples para que o usuário leigo possa entender. Se você já tem alguma experiência com SQL, UNIX, FTP e SHELL scripts, peço um pouco da sua paciência, ok?

Os tópicos estão agrupados para facilitar a sua vida. Então vamos em frente!

 

Logando no UNIX

Existe uma série de considerações a serem feitas para o usuário WINDOWS que não conhece nada de UNIX, mas isso foge do escopo deste artigo.

Talvez a primeira informação a se considerar é que existem algumas dúzias de “versões” de UNIX. LINUX, AIX, HP-UX, SOLARIS.... Tudo isso, em resumo, é ambiente UNIX.

Dito desta maneira, a gente até assusta, mas esta “variedade” é algo que não nos afeta neste momento. Não precisamos conhecer tantos detalhes de UNIX a ponto de fazer diferença nas atividades que vamos executar. ...

Quer ler esse conteúdo completo? Tenha acesso completo