ODI Series - Exportar Tabelas para... by Caio Lima 3717 views
1. March 19 2012EssbaseSeriesEste artigo tem como objetivo demonstrar o que énecessário para fazer Backup e Restauração de dados e Backup eestrutura no Essbase. Restore
2. Oracle EssbaseA parte mais crucial na manutenção de um banco de dados é o Backup, quandoestamos falando de Oracle Essbase isso não é uma excessão. É muito importantesincronizar os backups dos banco de dados do Essbase com a manutenção dosambientes de produção e desenvolvimento principalmente.A frequencia dos backups é muito relativa e depende diretamente do tipo devolatilidade e necessidade que o ambiente necessita, como por exemplo, um ambientede desenvolvimento requer backups de tempos em tempos, às vezes até mais que umbackup por dia, por se tratar de um ambiente onde existem muitas alterações decódigos e objetos. Já um ambiente de produção necessita de pelo menos um backupno dia, mas também é uma situação que deve ser analisada no ciclo de vida do bancode dados. O mais importante nesse processo é garantir que no momento em queprecisar restaurar o sistema os arquivos de backup estejam prontos com a últimaposição ou com a posição necessária para se restaurar devidamente o ambiente.Existem dois métodos para fazer backup no Essbase:  Preparar o banco de dados para backup no File System Neste tipo de backup, preparamos os componentes do banco de dados, tais como, objetos, variáveis, estrutura de metadado, arquivos de propriedades, arquivos de segurança e etc, para serem copiados através do file system do sistema operacional.  Exportar os dados para arquivo texto Neste tipo de backup, preparamos os dados para serem copiados.
3. Backup – Arquivos importantesAbaixo segue um quadro contendo todos os arquivos que são importantes e que deveser feito backup ao menos diariamente. Arquivo Localessn.ind essbaseappappnamedbnameessn.pag essbaseappappnamedbnamedbname.esm essbaseappappnamedbnamedbname.tct essbaseappappnamedbnamedbname.ind essbaseappappnamedbnameappname.app essbaseappdbname.db essbaseappappnamedbnamex.lro essbaseappappnamedbnameessbase.sec essbasebinessbase.bak essbasebinessbase.cfg essbasebinObjetos de banco de dados tais essbaseappappnamedbnamecomo .otl, .csc, .rul, .rep, .eqp,e .selScripts ESSCMD e MaxL Não tem um local padrão para armazenamento, deve-se verificar na documentação do projeto para identificar quais diretórios foram criados e em qual servidor para guardar os scripts de integração.Notas:  É muito importante lembrar que os arquivos .ind e .pag podem ter mais de uma ocorrência por banco de dados, e que devemos fazer o backup de todos os arquivos encontrados.  Antes de fazer o backup do arquivo essbase.sec os serviços do essbase devem estar parados.
4. Backup – File SystemUm método muito utilizado para fazer o backup dos banco de dados do servidorEssbase é copiando todas as pastas do banco de dados. Você pode fazer essa tarefautilizando qualquer aplicativo de backup existente no mercado. Podemos copiar desdediretórios específicos até fazer a cópia de toda a estrutura de diretórios onde estão osbancos de dados e objetos.Mas, para que esse tipo de backup seja bem sucedido, devemos primeiro parar oserviço do Servidor Essbase, isto significa que o banco de dados deve ficar parado esem acesso até que o processo de backup esteja concluído, caso o serviço esteja"Iniciado", o processo não terá êxito ao copiar determinados arquivos. Outraalternativa é o chamado HOT BACKUP, que consiste em fazer com que o banco dedados entre em estado de "MODO LEITURA" ou como é chamado em inglês READ-ONLY MODE, veremos detalhes sobre esse tipo de configuração no próximo capítulo.
5. Backup – Modo Leitura e GravaçãoColocando o banco de dados em Modo de LeituraO Essbase provêm uma maneira de preparar o banco de dados para Backuppermitindo também que os usuários façam consultas, emitam seus relatórios enquantoo processo de Backup está sendo executado. Para isso, devemos colocar o banco dedados em Modo Leitura (Read-Only ou Archive Mode), isso faz com que o banco dedados esteja disponível apenas para leituras de dados, não podendo realizar nenhumprocesso de gravação de dados durante o tempo em que estiver neste Modo. Após otérmino do processo de Backup você poderá voltar o banco de dados para o ModeLeitura e Gravação (Read-Write mode). Para colocar o essbase em Modo Leitura use ocomando abaixo:Ferramenta InstruçãoMaxL alter database begin archiveESSCMD BEGINARCHIVENota: Se houver tentativa de cancelamento dos commandos MaxL ou ESSCMD antesdo término será mostrada a seguinte mensagem no console "can't cancel". Estamensagem ocorre pois o processo para colocar o banco de dados em Mode de Leituraé complexo (será descrito abaixo) e para protenção o Essbase cancela qualquertentativa de quebra de ponteiro, caso o administrador tenha colocado o banco dedados em Modo Leitura, espere até o final e volte ao Modo de Leitura-Gravação com ocomando apropriado.O comando begin-archive faz o seguinte quando executado:  Finaliza todas as modificações pendentes no banco de dados em disco (conhecido também como "Commit").  Troca o modo do banco de dados para Modo de Leitura (read-only mode).  Re-abre os arquivos do banco de dados em modo compartilhado.  Cria um arquivo contendo a lista de arquivos que devem ser feito Backup. Como padrão o arquivo é chamado de archive.lst. Este arquivo é gravado no diretório padrão do banco de dados.Se o usuário tentar modificar algum dado ou inserir algum dado novo durante oprocesso de backup, uma messagem de alerta será mostrada indicando que o sistemaestá em modo leitura para a realização de backup.Os comando begin-archive e end-archive não fazem o backup; eles apenas sãoutilizados para alterar o "MODO" do banco de dados. Para fazer o backup é necessário
6. um utilitário específico, ou uma rotina de sistema operacional para fazer a cópia dosarquivos necessários para a mídia específica.ATENÇÃO:Se você estiver fazendo o backup sem utilizar o comando begin-archive, tenha certezaque todas as aplicações e bancos de dados do Essbase que você deseja fazer o backupestejam "paradas" e todos os usuários estejam sem acesso às mesmas durante oprocesso de backup. Caso contrário, existe um forte risco de corromper os bancos dedados.Colocando o banco de dados em Modo de Leitura-GravaçãoDepois da realização do backup é necessário voltar o banco de dados Essbase ao modode leitura-gravação (read-write mode). Para colocar o Essbase em Modo Leitura-Gravação, use os comandos abaixo:Ferramenta InstruçãoMaxL alter database end archiveESSCMD ENDARCHIVEO comando end-archive faz o seguinte quando executado:  Retorna o banco de dados ao Modo Leitura-Gravação.  Re-abre os arquivos do banco de dados em modo exclusivo (read-write mode).
7. Backup – Exportar DadosAté o momento falamos apenas dos backups de arquivos e estruturas dos bancos dedados Essbase. Neste capítulo, iremos abordar a extração dos dados dos bancos dedados. Esse processo é chamado de Exportação ou Export e consiste em extrair osdados de um banco de dados Essbase e gerar um ou mais arquivos texto. Os arquivossão gerados no formato ASCII e contém apenas dados, não são incluídos controles,outlines, informações de segurança.Utilizamos esse recurso para as seguintes necessidades:  Transferência de dados entre plataformas. Exemplo: Exportar os dados de uma regional do ambiente de produção para o ambiente de homologação para testar um novo desenvolvimento.  Fazer backup de parte do banco de dados. Exemplo: Exportar apenas os dados do cenário Planejado para as contas de Vendas e Custos, ou por exemplo, exportar apenas os dados de nível 0 sem considerar as consolidações.  Exportar as informações em formato texto. Exemplo: Fazer backup completo do banco de dados em formato .TXT.Algumas vantagens ao utilizar a exportação de dados como um recurso:  Você pode usar o resultado do arquivo ASCII gerado para transferir informações entre plataformas distintas, exemplo: desenvolvimento – homologação - produção, enfim pode criar um ambiente de origem e destino utilizando um arquivo texto. Mas lembre-se, quando geramos os dados a estrutura não é carregada neste arquivo, logo, o banco de dados de origem e o banco de dados ao qual será carregada a informação devem ter o mesmo desenho do outline, caso contrário será reportado um erro.  Durante o processo de exportação a integridade dos dados é verificada pois cada bloco de dados é verificado para confirmar se corresponde a página e arquivos de índice.  É possível reduzir a fragmentação em um banco de dados exportando os dados para um arquivo texto, fazendo a limpeza do banco de dados e carregando o arquivo texto novamente para o banco de dados.  Você pode exportar um banco de dados no formato de colunas, isso pode facilitar nas atividades de manipulação do arquivo, utilização com outros sistemas, criação de regras de carga no Essbase para carregar as informações em outros bancos de dados e etc.
8. Algumas desvantagens ao utilizar a exportação de dados como um recurso:  Membros dinâmicos não são exportados, apenas membros gravados em disco são utilizados no processo de Export de dados.  No momento em que os dados estão sendo exportados os usuários não podem atualizar o banco de dados. Caso isso venha a acontecer o usuário irá receber uma mensagem de erro. Ou seja, apenas a leitura de dados está disponível quando o processo de Exportação de dados tem inicio.ATENÇÃO:Os dados gerados para arquivo texto não tem compressão de dados, logo não seassuste caso o arquivo texto gerado seja maior que o tamanho do banco de dados.Outro ponto importante é que, quanto maior o banco de dados maior será o tempogasto para gerar um Export de dados.Exportando os dadosPara exportar os dados, use um dos comandos abaixo:Ferramenta InstruçãoEAS Selecione Database > ExportESSCMD EXPORT ou PAREXPORTMaxL Export dataTodos os métodos utilizados requerem algumas informações básicas:  A quantidade de dados a exportar: o Todos os dados. o Blocos de nível 0 (blocos contendo apenas combinações de membros de dimensões esparsas de nível 0, estes blocos podem conter dados de nível superior para membros de dimensão densa). o Blocos de dados de entrada (blocos de dados contendo dados criados a partir de uma carga ou planilha através dos comandos Lock & Send).  Exportar os dados em formato de coluna ou formato livre.  Defina o diretório e o nome padrão para o arquivo texto.Exportando arquivos de dados maiores que 2 GbAlguns sistemas de gerenciamento de arquivos de texto não suportam arquivosmaiores que 2 Gb. Em qualquer sistema operacional, o Essbase se antecipa quando oarquivo for superior a 2 Gb e cria dois ou mais arquivos de exportação, conformenecessário.
9. Quando o Essbase cria múltiplos arquivos de exportação, ele usa o nome do arquivoprincipal. Um "_" (sublinhado) e um número sequencial são anexados aos nomes dosarquivos adicionais, começando com "_1". Como por exemplo, imagine o nome doarquivo expJan.txt e o tamanho do banco de dados seja maior que 4 Gb, neste casoo Essbase irá criar 3 arquivos, o nome deles ficaria assim: expJan.txtb,expJan_1.txt e expJan_2.txt.
10. Backup – Impotar Dados (Arquivo Texto)Para carregar os dados a partir de um arquivo texto use um dos comandos abaixo:Ferramenta InstruçãoEAS Considere a carga dos dados sem utilizar uma regra de carga (Rule File). Selecione Database > Data LoadESSCMD IMPORTMaxL Import dataQuando carregamos os dados através de um arquivo texto, os dados são marcadoscomo dados de entrada. Se este arquivo contém apenas dados exportados de blocosnível 0 ou blocos de entrada é necessário recalcular o banco de dados após a carga.Quando o Essbase recalcula o banco de dados, ele o faz para cada bloco de dados.Se você exportar todos os dados (All data) e em seguida importar esses dados, oEssbase irá marcar todos os blocos de dados como blocos de entrada (input block).Consequentemente, se tentar limpar os dados selecionando Database > Clear Data >Non-Input Blocks a partir do EAS (Essbase Administration Services), nenhum dado serádeletado, pois o banco de dados não tem nenhum bloco Non-Input.Quando carregamos os dados exportados, o Essbase também marca o bloco de dadoscomo sujo. Se o banco de dados foi calculado antes de exportar os dados para ganhartempo durante o próximo cálculo, devemos definir o estado de limpeza para os blocos.Se o banco de dados não foi calculado antes de exportar os dados então nãoprecisamos definir o estado de limpeza do bloco.Para apagar o status do bloco no banco de dados após a exportação/importação detodos os dados, podemos executar o seguinte CALC SCRIPT:
11. Backup – Restaurar o banco de dadosPara restaurar um banco de dados, substitua os arquivos que estão no disco pelosarquivos que estão no Backup. Veja o capítulo Backup – Arquivos Importantes, parasaber a lista de arquivos que devem ter um backup regular.Para restaurar a aplicação e o banco de dados devem estar parados, não deve haverconexões com este banco de dados no momento de restauração, apenas doadministrador.Arquivos essênciais para o banco de dadosOs arquivos listados abaixo são componentes chave do banco de dados Essbase:Arquivo Descriçãoessn.pag arquivo de dados do Essbaseessn.ini arquivo de índice do Essbasedbname.esm arquivo do Kernel do Essbasedbname.tct arquivo do Controle de Transação do Essbasedbname.ind arquivo de Fragmentação de dados e índices do Essbasedbname.otl arquivo do outline do EssbaseSe existir algum problema com qualquer um dos arquivos listados acima, o banco dedados estará corrompido. O banco de dados deverá ser restaurado a partir dosarquivos de backup e os dados a partir do arquivo texto gerado.Existem situações em que o banco de dados corrompe. Nestas situações, o banco dedados não pode ser iniciado, os dados não podem ser acessados, tão pouco podemosexecutar nenhum comando neste banco de dados, a única maneira de reestabelecer obanco de dados é fazer a sua restauração. Para isso, delete todos os arquivos listadosabaixo:  essn.pag  essn.ind  dbname.esm  dbname.tct  dbname.indApós deletar esses arquivos, reinicie o banco de dados e copie os arquivos (estrutura edados) que estão no backup feito antes do banco de dados corromper.