• Anderson Graf

Movendo AWR Snapshots para outro database

Atualizado: 30 de Jun de 2019


As tabelas do AWR (Automatic Workload Repository) contém uma grande quantidade de dados de desempenho extremamente úteis para análises de performance e detecção de problemas. Os dados do AWR são armazenados em tabelas WRH$ e DBA_HIST alimentadas através de snapshots regulares e armazenados por um período de tempo definido na SYSAUX tablespace.


Algumas vezes é necessário que estes dados sejam salvos para utilizações futuras ou mesmo importados em outras bases de dados para comparações, maior tempo de armazenamento em relação ao definido na base origem, etc. A Oracle fornece dois scripts para realizar o export e import dos dados do AWR, são eles: awrextr.sql e awrload.sql, ambos localizados em $ORACLE_HOME/rdbms/admin


O export dos dados é realizado através do script awrextr.sql que gera um arquivo data pump contendo o intervalo de snapshots desejado e que posteriormente pode ser importado em outra base de dados.


1 – Criando o diretório que será gerado o arquivo de dump:



2 - Executando o script de export:



Quando executado o script precisa de 4 interações para gerar o export dos snapshots.

2.A - Informar o DBID da base de dados desejada. O script irá listar todos os dbids disponíveis, se o dbid desejado for o default(*) basta pressionar ENTER ou então primeiramente informar o dbid necessário.



2.B - O segundo passo é especificar a quantidade de dias para que a listagem dos snapshots (snap_ids) seja retornada e o período (begin_snap/end_snap) da extração de dados definida.



2.C - Especificar o diretório que será utilizado para gerar o arquivo de dump (expdp).



2.D - Por fim, informar o nome do arquivo data pump que será gerado. O nome não deve conter a extensão .dmp, ele será acrescentado automaticamente pelo script.


Dependendo da quantidade de dados AWR que precisa ser extraído a operação de extração pode demorar um pouco para ser concluída. Uma vez concluída você pode levar o arquivo para o local ou servidor desejado.


O import de dados é realizado através do script awrload.sql utilizando o dump gerado anteriormente pelo script awrextr.sql, conforme demonstrado abaixo:


1 - Criando o diretório em outra base de dados com o caminho onde se encontra o arquivo de dump:


2 - Executando o script de import:



Da mesma forma que no script de export, o script de import também requer algumas interações.

2.A - Informar o nome do diretório que contem o arquivo.

2.B - Informar o nome do arquivo contendo os dados AWR extraídos anteriormente. Não é preciso incluir junto ao nome do arquivo sua extensão (.dmp), ela será adicionada automaticamente pelo script.



2.C - Nesta etapa deve ser informado o nome de um schema temporário para que os dados sejam importados e posteriormente transferidos para as tabelas do AWR. Após a transferencia dos dados para as tabelas do AWR o schema é automaticamente removido.


Informações como a tablespace permanente e temporária do schema também serão solicitadas nesta etapa e ao fim os dados serão finalmente importados.



Dependendo da quantidade de dados AWR que serão importadas a operação pode demorar um pouco para ser concluída.


3 - Verificando se os snapshots do DBID desejado foram importados:



Referências:

How to Export and Import the AWR Repository From One Database to Another (Doc ID 785730.1)

34 visualizações

© 2018 Exímio Solução em TI

  • Grey Facebook Ícone
  • Ícone cinza LinkedIn