Durante um processo de migracao deplataforma, muitas vezes, o DBA precisara exportar as estatisticas do banco dedados na ORIGEM para a base de dados no DESTINO. Neste artigo apresentaremos ospassos para realizarmos a exportacao das estatisticas do banco de dados.Passos:1. Criacao dousuario dono da tabela de estatisticas no banco de dados na ORIGEM.SQL>create user dono_stats identified by x defaulttablespace tools temporarytablespace temp;SQL>grant dba to dono_stats;2. Criar a tabelade estatisticas para exportacao.SQL>exec DBMS_STATS.CREATE_STAT_TABLE ('DONO_STATS','STATTAB','TOOLS');3. Exportar asestatisticas para a tabela "STATTAB".SQL> exec DBMS_STATS.EXPORT_SCHEMA_STATS (ownname=>'SCOTT',stattab=>'STATTAB',statown=>'DONO_STATS');4. No banco dedado, no DESTINO, deve-se criar o usuario para receber as estatisticas paraimportacao no banco de dados.SQL>create user dono_stats identified by x defaulttablespace tools temporary tablespacetemp;SQL>grant dba to dono_stats;5. Criar a tabelade estatisticas para importacao.SQL>exec DBMS_STATS.CREATE_STAT_TABLE ('DONO_STATS','STATTAB','TOOLS');6. Importar osdados da estatisticas da tabela "STATTAB" na ORIGEM para o DESTINO.SQL> insertinto dono_stats.stattab select * from dono_stats.stattab@db_link;SQL> commit;7. Validar aimportacao na tabela "STATTAB" no DESTINO.SQL>select count(*) from DONO_STATS.STATTAB;8. Realizar aimportacao das estatisticas no "owner" correspondente.SQL>exec DBMS_STATS.EXPORT_SCHEMA_STATS(ownname=>'SCOTT',stattab=>'STATTAB',statown=>'DONO_STATS');Referencias: OracleDatabase Administrator s Guide 11gR2 (11.2) Oracle Database Concepts11gR2 (11.2) Oracle DatabasePerformance Tuning Guide 11gR2 (11.2)MSc.Rubens OliveiraDBA Oracle Consultorolivert.dba@consultant.com Orepositorio do AWR (Automatic Workload Repository) e gerado automaticamente durantea criacao do banco de dados, porem algumas vezes o DBA pode ter a necessidadede recria-lo, neste artigo a demonstraremos os passos necessarios. 1. Conectar-seno SQL*Plus $ sqlplus / as sysdba SQL*Plus: Release 11.2.0.1.0Production on Mon Nov 4 10:43:53 2013Copyright (c) 1982, 2009,Oracle. All rights reserved.Connected to:Oracle Database 11g EnterpriseEdition Release 11.2.0.1.0 - 64bit ProductionWith the Partitioning, RealApplication Clusters, Automatic Storage Management, OLAP,Data Mining and Real ApplicationTesting options SQL> 2. Verificaros seguintes parametros (cluster_database, statistics_level, sga_target), SQL> show parameter cluster_database;NAME TYPE VALUE------------------------------------ -----------------------------------------cluster_database boolean TRUEcluster_database_instances integer 2SQL> show parameter statistics_levelNAME TYPE VALUE------------------------------------ -----------------------------------------statistics_level string TYPICAL SQL> show parameter sga_targetNAME TYPE VALUE----------------------------------------------- ------------------------------sga_target big integer 8000M Importante: Caso os valores sejam diferentes dos apresentadosacima, deve-se alterar para os valores propostos para que o AWR funcionecorretamente.3. Restartaro banco de dados em modo restrito.SQL> shutdown immediate;Database closed.Database dismounted.ORACLE instance shutdown.SQL> startup restrict;ORACLE instance started.4. Pararemover o catalogo do AWR executar o script abaixo:SQL> @$ORACLE_HOME/rdbms/admin/catnoawr.sql5. Pararecriar o catalogo do AWR executar.SQL> alter system flush shared_pool;System altered.SQL> @$ORACLE_HOME/rdbms/admin/catawrtb.sqlSQL> @$ORACLE_HOME/rdbms/admin/utlrp.sqlSQL> @$ORACLE_HOME/rdbms/admin/execsvrm.sql6. Restartaro banco de dados.SQL> shutdown immediate;Database closed.Database dismounted.ORACLE instance shutdown.SQL> startup;ORACLE instance started.7. Verificarobjetos invalidos no banco de dados, caso voce encontre deve-se recompilar osobjetos.SQL> @$ORACLE_HOME/rdbms/admin/utlrp.sql8. Verificaros status dos componentes do banco de dados, executar a consulta abaixo:SQL> SET PAGESIZE 500SQL> SET LINESIZE 100SQL> SELECTSUBSTR(COMP_NAME,1,40) COMP_NAME, STATUS, SUBSTR(VERSION,1,10) VERSION FROM DBA_REGISTRYORDER BY COMP_NAME;COMP_NAME STATUS VERSION--------------------------------------------------- ----------JServer JAVA VirtualMachine VALID 11.2.0.1.0Oracle Database CatalogViews VALID 11.2.0.1.0Oracle Database JavaPackages VALID 11.2.0.1.0Oracle Database Packagesand Types VALID 11.2.0.1.0Oracle EnterpriseManager VALID 11.2.0.1.0Oracle ExpressionFilter VALID 11.2.0.1.0Oracle Real ApplicationClusters VALID 11.2.0.1.0Oracle Rules Manager VALID 11.2.0.1.0Oracle Text VALID 11.2.0.1.0Oracle WorkspaceManager VALID 11.2.0.1.0Oracle XDK VALID 11.2.0.1.0Oracle XML Database VALID 11.2.0.1.012 rows selected. SQL> SELECTSUBSTR(OBJECT_NAME,1,40) OBJECT_NAME, SUBSTR(OWNER,1,15) OWNER,OBJECT_TYPE FROM DBA_OBJECTS WHERE STATUS='INVALID' ORDER BY OWNER, OBJECT_TYPE;no rows selected SQL> SELECT OWNER,OBJECT_TYPE,COUNT(*) FROM DBA_OBJECTS WHERE STATUS='INVALID' GROUP BY OWNER,OBJECT_TYPE ORDER BY OWNER,OBJECT_TYPE;no rows selectedImportante: Caso algum componente ou objeto esteja invalido nobanco de dados, deve-se providenciar a validacao para o funcionamento adequadodo AWR.9. Gerar o primeiro snapshot no AWR, usar:SQL> execdbms_workload_repository.create_snapshot;PL/SQL procedure successfullycompleted.Com oprimeiro