segunda-feira, 17 de março de 2014

Exportando estatísticas entre bancos de dados Oracle


Durante um processo de migração de plataforma, muitas vezes, o DBA precisará exportar as estatísticas do banco de dados na ORIGEM para a base de dados no DESTINO. Neste artigo apresentaremos os passos para realizarmos a exportação das estatísticas do banco de dados.

Passos:

1.   Criação do usuário dono da tabela de estatísticas no banco de dados na ORIGEM.

SQL> create user dono_stats identified by x
default tablespace tools
temporary tablespace temp;

SQL> grant dba to dono_stats;


2.   Criar a tabela de estatísticas para exportação.

SQL> exec DBMS_STATS.CREATE_STAT_TABLE ('DONO_STATS','STATTAB','TOOLS');

3.   Exportar as estatísticas para a tabela "STATTAB".

SQL> exec DBMS_STATS.EXPORT_SCHEMA_STATS (ownname=>'SCOTT',stattab=>'STATTAB',statown=>'DONO_STATS');

4.   No banco de dado, no DESTINO, deve-se criar o usuário para receber as estatísticas para importação no banco de dados.

SQL> create user dono_stats identified by x
default tablespace tools
temporary tablespace temp;

SQL> grant dba to dono_stats;

5.   Criar a tabela de estatísticas para importação.

SQL> exec DBMS_STATS.CREATE_STAT_TABLE ('DONO_STATS','STATTAB','TOOLS');

6.   Importar os dados da estatísticas da tabela "STATTAB" na ORIGEM para o DESTINO.

SQL> insert into dono_stats.stattab select * from dono_stats.stattab@db_link;

SQL> commit;


7.   Validar a importação na tabela "STATTAB" no DESTINO.

SQL> select count(*) from DONO_STATS.STATTAB;

8.   Realizar a importação das estatisticas no "owner" correspondente.

SQL>exec DBMS_STATS.EXPORT_SCHEMA_STATS (ownname=>'SCOTT',stattab=>'STATTAB',statown=>'DONO_STATS');




Referências: Oracle® Database Administrator´s Guide 11gR2 (11.2)
        Oracle® Database Concepts 11gR2 (11.2)
        Oracle® Database Performance Tuning Guide 11gR2 (11.2)



MSc. Rubens Oliveira
DBA Oracle Consultor
olivert.dba@consultant.com