essbase series - backup

11
Essbase Series March 19 2012 Este artigo tem como objetivo demonstrar o que é necessário para fazer Backup e Restauração de dados e estrutura no Essbase. Backup e Restore

Upload: caio-lima

Post on 11-Jun-2015

911 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Essbase Series - Backup

Essbase Series

March 19

2012 Este artigo tem como objetivo demonstrar o que é necessário para fazer Backup e Restauração de dados e estrutura no Essbase.

Backup e Restore

Page 2: Essbase Series - Backup

Oracle Essbase

A parte mais crucial na manutenção de um banco de dados é o Backup, quando

estamos falando de Oracle Essbase isso não é uma excessão. É muito importante

sincronizar os backups dos banco de dados do Essbase com a manutenção dos

ambientes de produção e desenvolvimento principalmente.

A frequencia dos backups é muito relativa e depende diretamente do tipo de

volatilidade e necessidade que o ambiente necessita, como por exemplo, um ambiente

de desenvolvimento requer backups de tempos em tempos, às vezes até mais que um

backup por dia, por se tratar de um ambiente onde existem muitas alterações de

códigos e objetos. Já um ambiente de produção necessita de pelo menos um backup

no dia, mas também é uma situação que deve ser analisada no ciclo de vida do banco

de dados. O mais importante nesse processo é garantir que no momento em que

precisar restaurar o sistema os arquivos de backup estejam prontos com a última

posiçã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.

Page 3: Essbase Series - Backup

Backup – Arquivos importantes

Abaixo segue um quadro contendo todos os arquivos que são importantes e que deve

ser feito backup ao menos diariamente.

Arquivo Local

essn.ind \essbase\app\appname\dbname

essn.pag \essbase\app\appname\dbname

dbname.esm \essbase\app\appname\dbname

dbname.tct \essbase\app\appname\dbname

dbname.ind \essbase\app\appname\dbname

appname.app \essbase\app

dbname.db \essbase\app\appname\dbname

x.lro \essbase\app\appname\dbname

essbase.sec \essbase\bin

essbase.bak \essbase\bin

essbase.cfg \essbase\bin

Objetos de banco de dados tais como .otl, .csc, .rul, .rep, .eqp, e .sel

\essbase\app\appname\dbname

Scripts 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.

Page 4: Essbase Series - Backup

Backup – File System

Um método muito utilizado para fazer o backup dos banco de dados do servidor

Essbase é copiando todas as pastas do banco de dados. Você pode fazer essa tarefa

utilizando qualquer aplicativo de backup existente no mercado. Podemos copiar desde

diretórios específicos até fazer a cópia de toda a estrutura de diretórios onde estão os

bancos de dados e objetos.

Mas, para que esse tipo de backup seja bem sucedido, devemos primeiro parar o

serviço do Servidor Essbase, isto significa que o banco de dados deve ficar parado e

sem 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. Outra

alternativa é o chamado HOT BACKUP, que consiste em fazer com que o banco de

dados 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.

Page 5: Essbase Series - Backup

Backup – Modo Leitura e Gravação

Colocando o banco de dados em Modo de Leitura

O Essbase provêm uma maneira de preparar o banco de dados para Backup

permitindo também que os usuários façam consultas, emitam seus relatórios enquanto

o processo de Backup está sendo executado. Para isso, devemos colocar o banco de

dados em Modo Leitura (Read-Only ou Archive Mode), isso faz com que o banco de

dados esteja disponível apenas para leituras de dados, não podendo realizar nenhum

processo de gravação de dados durante o tempo em que estiver neste Modo. Após o

término do processo de Backup você poderá voltar o banco de dados para o Mode

Leitura e Gravação (Read-Write mode). Para colocar o essbase em Modo Leitura use o

comando abaixo:

Ferramenta Instrução

MaxL alter database begin archive

ESSCMD BEGINARCHIVE

Nota: Se houver tentativa de cancelamento dos commandos MaxL ou ESSCMD antes

do término será mostrada a seguinte mensagem no console “can’t cancel”. Esta

mensagem 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 qualquer

tentativa de quebra de ponteiro, caso o administrador tenha colocado o banco de

dados em Modo Leitura, espere até o final e volte ao Modo de Leitura-Gravação com o

comando 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 o

processo de backup, uma messagem de alerta será mostrada indicando que o sistema

está em modo leitura para a realização de backup.

Os comando begin-archive e end-archive não fazem o backup; eles apenas são

utilizados para alterar o “MODO” do banco de dados. Para fazer o backup é necessário

Page 6: Essbase Series - Backup

um utilitário específico, ou uma rotina de sistema operacional para fazer a cópia dos

arquivos necessários para a mídia específica.

ATENÇÃO:

Se você estiver fazendo o backup sem utilizar o comando begin-archive, tenha certeza

que todas as aplicações e bancos de dados do Essbase que você deseja fazer o backup

estejam “paradas” e todos os usuários estejam sem acesso às mesmas durante o

processo de backup. Caso contrário, existe um forte risco de corromper os bancos de

dados.

Colocando o banco de dados em Modo de Leitura-Gravação

Depois da realização do backup é necessário voltar o banco de dados Essbase ao modo

de leitura-gravação (read-write mode). Para colocar o Essbase em Modo Leitura-

Gravação, use os comandos abaixo:

Ferramenta Instrução

MaxL alter database end archive

ESSCMD ENDARCHIVE

O 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).

Page 7: Essbase Series - Backup

Backup – Exportar Dados

Até o momento falamos apenas dos backups de arquivos e estruturas dos bancos de

dados Essbase. Neste capítulo, iremos abordar a extração dos dados dos bancos de

dados. Esse processo é chamado de Exportação ou Export e consiste em extrair os

dados de um banco de dados Essbase e gerar um ou mais arquivos texto. Os arquivos

sã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.

Page 8: Essbase Series - Backup

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 se

assuste 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 tempo

gasto para gerar um Export de dados.

Exportando os dados

Para exportar os dados, use um dos comandos abaixo:

Ferramenta Instrução

EAS Selecione Database > Export

ESSCMD EXPORT ou PAREXPORT

MaxL Export data

Todos 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 Gb

Alguns sistemas de gerenciamento de arquivos de texto não suportam arquivos

maiores que 2 Gb. Em qualquer sistema operacional, o Essbase se antecipa quando o

arquivo for superior a 2 Gb e cria dois ou mais arquivos de exportação, conforme

necessário.

Page 9: Essbase Series - Backup

Quando o Essbase cria múltiplos arquivos de exportação, ele usa o nome do arquivo

principal. Um “_” (sublinhado) e um número sequencial são anexados aos nomes dos

arquivos adicionais, começando com “_1”. Como por exemplo, imagine o nome do

arquivo expJan.txt e o tamanho do banco de dados seja maior que 4 Gb, neste caso

o Essbase irá criar 3 arquivos, o nome deles ficaria assim: expJan.txtb,

expJan_1.txt e expJan_2.txt.

Page 10: Essbase Series - Backup

Backup – Impotar Dados (Arquivo Texto)

Para carregar os dados a partir de um arquivo texto use um dos comandos abaixo:

Ferramenta Instrução

EAS Considere a carga dos dados sem utilizar uma regra de carga (Rule File). Selecione Database > Data Load

ESSCMD IMPORT

MaxL Import data

Quando carregamos os dados através de um arquivo texto, os dados são marcados

como dados de entrada. Se este arquivo contém apenas dados exportados de blocos

ní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, o

Essbase 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 dados

como sujo. Se o banco de dados foi calculado antes de exportar os dados para ganhar

tempo 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ão

precisamos definir o estado de limpeza do bloco.

Para apagar o status do bloco no banco de dados após a exportação/importação de

todos os dados, podemos executar o seguinte CALC SCRIPT:

Page 11: Essbase Series - Backup

Backup – Restaurar o banco de dados

Para restaurar um banco de dados, substitua os arquivos que estão no disco pelos

arquivos que estão no Backup. Veja o capítulo Backup – Arquivos Importantes, para

saber 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 haver

conexões com este banco de dados no momento de restauração, apenas do

administrador.

Arquivos essênciais para o banco de dados

Os arquivos listados abaixo são componentes chave do banco de dados Essbase:

Arquivo Descrição

essn.pag arquivo de dados do Essbase

essn.ini arquivo de índice do Essbase

dbname.esm arquivo do Kernel do Essbase

dbname.tct arquivo do Controle de Transação do Essbase

dbname.ind arquivo de Fragmentação de dados e índices do Essbase

dbname.otl arquivo do outline do Essbase

Se existir algum problema com qualquer um dos arquivos listados acima, o banco de

dados estará corrompido. O banco de dados deverá ser restaurado a partir dos

arquivos 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 de

dados não pode ser iniciado, os dados não podem ser acessados, tão pouco podemos

executar nenhum comando neste banco de dados, a única maneira de reestabelecer o

banco de dados é fazer a sua restauração. Para isso, delete todos os arquivos listados

abaixo:

essn.pag

essn.ind

dbname.esm

dbname.tct

dbname.ind

Após deletar esses arquivos, reinicie o banco de dados e copie os arquivos (estrutura e

dados) que estão no backup feito antes do banco de dados corromper.