Oracle Live

12/05/2016

Export and Import SQL Profiles

Filed under: Database,Migraciones,SQL Tuning — mogukiller @ 2:45 pm

Durante las migraciones es necesario identificar si existe sql profiles que fijen los planes de ejecución de las queries. Si fuese asi, os indico los paso para migrar los SQL Profiles de un entorno a otro.


COL NAME FOR A30
COLUMN category FORMAT a10
COLUMN sql_text FORMAT a40
SELECT NAME, SQL_TEXT, CATEGORY, STATUS, TYPE FROM   DBA_SQL_PROFILES;

/*

NAME                           SQL_TEXT                                 CATEGORY   STATUS   TYPE
------------------------------ ---------------------------------------- ---------- -------- -------
SYS_SQLPROF_024d04c5ba580001   SELECT /*+ RULE  C.COD_USUENVIO,C.COD_ DEFAULT    ENABLED  MANUAL
                               CORREO,COD_LLAMADA,IND_TRATADO,IND_TIPOE

SYS_SQLPROF_034aa9ca5ca10000   SELECT /*+ INDEX(P AC_PASOS_PK)  INDEX(T DEFAULT    ENABLED  MANUAL
                               P AC_TRAMIPASOS_I1)  P.DES_PASO FROM A

*/

-- Creamos una tabla para almacenar los SQL Profiles.

BEGIN
  DBMS_SQLTUNE.CREATE_STGTAB_SQLPROF ( 
    table_name  => 'MIG_PROFILE'
,   schema_name => 'UOG_MIGRA' 
);
END;
/

-- Empaquetamos los profiles en esa tabla

BEGIN
  DBMS_SQLTUNE.PACK_STGTAB_SQLPROF (  
    profile_name         => '%'
,   staging_table_name   => 'MIG_PROFILE'
,   staging_schema_owner => 'UOG_MIGRA' 
);
END;
/ 

-- Exportamos la tabla

cat>exp_profile.par
USERID='UOG_MIGRA/temporal'
DUMPFILE=exp_profile.dmp
DIRECTORY=MIGRACION
TABLES=MIG_PROFILE
LOGFILE=exp_profile.log

expdp parfile=exp_profile.par

-- Importamos los datos

cat>imp_profile.par
DUMPFILE=exp_profile.dmp
DIRECTORY=MIGRACION
TABLES=UOG_MIGRA.MIG_PROFILE
LOGFILE=imp_profile.log

impdp \'/ as sysdba\' parfile=imp_profile.par
'
-- Desempaquetamos los profiles.

BEGIN
  DBMS_SQLTUNE.UNPACK_STGTAB_SQLPROF(
     replace            => true
,    staging_table_name => 'MIG_PROFILE'
);
END;
/

/*
NAME                           SQL_TEXT                                 CATEGORY   STATUS   TYPE
------------------------------ ---------------------------------------- ---------- -------- -------
SYS_SQLPROF_0138e14424ce0003   SELECT /*+ ordered   DISTINCT E.COD_EX DEFAULT    ENABLED  MANUAL
                               PEDIENTE,E.COD_DEPARTAMENTO,E.DES_EXPEDI

SYS_SQLPROF_044c98af4a5a0000   SELECT /*+ RULE  C.COD_USUENVIO,C.COD_ DEFAULT    ENABLED  MANUAL
                               CORREO,COD_LLAMADA,IND_TRATADO,IND_TIPOE
*/


Dejar un comentario »

Aún no hay comentarios.

RSS feed for comments on this post. TrackBack URI

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

Crea un blog o un sitio web gratuitos con WordPress.com.

A %d blogueros les gusta esto: