sexta-feira, 13 de março de 2015

BACKUP DO BI

Bem amigos, hoje venho falar de um problema que passei, a falta de um backup automático para salvar a estrutura do BI, caso alguma enfermidade acontecesse ao nosso servidor de BI.

Bom, quando fui pensar na solução me surgiu algumas perguntas:
• O que fazer para salvar os arquivos desejados?
• Onde salvar esses arquivos?
• O que precisamos ter caso o servidor de BI dê problemas?
• Como fazer esse backup?

Então para desenvolver uma solução simples, rápida, e o melhor, DE GRÁTIS (por essas razões não me canso de falar o Pentaho Data Integration – PDI, é o cara) utilizei o PDI e consegui fazer tudo que queria de um jeito rápido e funcional.

Primeiro passo foi definir o que precisava salvar em relação ao BI, então defini que precisaria salvar o catalogo e o repositório (RPD), com isso posso subir um servidor novo com uma instalação nova do RCU sem problemas. Então segui pensando que só a estrutura do BI não teria sentido sem seu modelo dimensional, foi aí que tive que adicionar nos meus arquivos um dump do usuário de BI e para finalizar minhas dúvidas resolvi versionar meu repositório como forma de salvar meu backup.

Definido meu trajeto vamos à construção! Fiz um job chamado ETL_BKP_BI e uma transformação (ETL_LOG_BACKUP) para guardar o log e o status do backup:



Agora vamos detalhar o ETL_BKP_BI, ele é dividido em quarto partes:

1. ETL_PARAMETROS - Uma passagem de parâmetros para dizer a pasta de origem, a pasta de destino e qual o esquema do banco de dados será utilizado nesse backup.
2. BACKUP BI - Um job para copiar o conteúdo desejado do servidor de BI.
3. DUMP BANCO – Um job que faz a cópia do banco.
4. SVN – Um script que envia as informações para o SVN.



Abaixo vamos detalhar cada caixinha citada acima:

1. ETL_PARAMETROS



1.1 Nessa transformação na primeira caixinha passamos 3 parâmetros para o fluxo:



1.2 No próximo passo trabalhamos esses parâmetros para chegar aos endereços das pastas de backup que queremos:



1.3 Após esta etapa o fluxo se divide em 2, um para setar variáveis (1ª imagem) na memória e outro para passar parâmetros pros próximos fluxo (2ª e 3ª imagens):



Com esses processos terminamos a primeira caixinha do ETL_BKP_BI.

2. BACKUP BI



2.1 Começa com a passagem do parâmetro para controlar o status do nosso backup fazendo parte do log:



2.2 Cria a pasta (caso seja necessário) de destino onde será salvo o backup do BI:



2.3 Limpa o conteúdo da pasta do catalogo do BI no destino:



2.4 Copia os arquivos do BI para a pasta de destino:



2.5 Atualiza a variável do log caso os passos seguintes tenham dado certo:



3. DUMP BANCO



3.1 O 1º passo começa com a passagem do parâmetro para controlar o status do nosso backup fazendo parte do log:



3.2 No 2º passo (TRUNCATE_STAGE) Numa transformação, truncamos as tabelas temporárias, tabelas de stage e as que não precisam ser salvas. Esta transformação tem o seguinte conteúdo:



3.3 No 3º e 4º passos, nós criamos a pasta DUMP e limpamos a mesma caso esses passos sejam necessários:



3.4 O 5º passo chama um script que é responsável em fazer o export do banco de dados:



OBSERVAÇÃO: note no arquivo dump.bat os parâmetros %1 e 2% eles foram passados pelo ETL_PARAMETRO, neste caso os parâmetros correspondem à “PASTA_DESTINO” e “ESQUEMA”.

3.5 O 6º passo compacta o arquivo de dump, nas imagens temos duas abas, atenção nas duas, pois precisamos configurar as duas:



3.6 O 7º e último passo deste job é atualizar a variável do log caso os passos seguintes tenham dado certo:



4. Set variables SVN = N



Este passo adiciona a variável STATUS_SVN ao fluxo, pois a mesma será utilizada pelo log.

5. SVN



Nesta etapa executamos um script para que os arquivos salvos sejam enviados ao SVN.

6. Set variables SVN = S



Para finalizar esse job, caso todo o backup do BI tenha dado certo, nós atualizamos o valor da variável STATUS_SVN para S, garantindo que tudo deu certo e passando para o fluxo que será utilizado pelo log.



Agora que já comitamos todo o backup do nosso BI, resta apenas registra o nosso log no banco de dados, quem faz isso no nosso ETL é a transformação ETL_LOG_BACKUP. Na verdade é uma transformação muito simples, que pega alguns parâmetros do sistema, as variáveis setadas nos Jobs anteriores e o log do penatho, de acordo com as imagens abaixo:



O 1º passo pega as informações do sistema:



O 2º passo pega as variáveis do STATUS dos Jobs anteriores:



O 3º passo renomea e organiza os campos para salvar na tabela:



E o 4º e último passo salva as informações no banco de dados:



Com isso finalizamos o nosso backup de BI, basta apenas escolher onde e como agendar seu backup da melhor forma possível. Espero que tenham gostado do artigo e fico sempre disponível para tirar quaisquer dúvidas e esclarecimento que não ficaram claros no texto. rsrsrsrsrs

Nenhum comentário:

Postar um comentário