Transportando "SQL Profile" entre databases origem e destino.

  • 05/07/2016/
  • Performance, Diagnostics & Tuning

 

 

Fases de um procedimento de transporte de "SQL Profile" entre databases.
Imagem retirada da documentação oficial da Oracle.
https://docs.oracle.com/database/121/TGSQL/tgsql_profiles.htm#TGSQL612

 

 

-- Cria a staging table SQLPROFILE_MIGRATION
-- Local da execução : ORIGEM

EXEC DBMS_SQLTUNE.CREATE_STGTAB_SQLPROF (table_name => 'SQLPROFILE_MIGRATION');


-- Alimenta as SQL Profiles para a staging table (SQLPROFILE_MIGRATION)
-- Local da execução : ORIGEM

EXEC DBMS_SQLTUNE.PACK_STGTAB_SQLPROF (profile_category => '%', staging_table_name => 'SQLPROFILE_MIGRATION');


-- Gerar dump file com original export da  staging table (SQLPROFILE_MIGRATION)
-- Local da execução : ORIGEM

exp system/senha_do_user_system file=SQL_PROFILES.dmp tables=SQLPROFILE_MIGRATION


-- TRANSFIR O DUMP FILE PARA O DATABASE DESTINO


-- Importar dump file com original import.
-- Local da execução : DESTINO

imp system/senha_do_user_system file=SQL_PROFILES.dmp full=y

 

-- Importa as SQL Profiles da staging table (SQLPROFILE_MIGRATION) para ser usado pelo CBO.
-- Local da execução : DESTINO
EXEC DBMS_SQLTUNE.UNPACK_STGTAB_SQLPROF(replace => TRUE, staging_table_name => 'SQLPROFILE_MIGRATION');