Oracle Live

26/08/2016

Database – AWR export repository

Filed under: Database — mogukiller @ 3:40 pm
Tags:

En la mayoria de migraciones que hago, me suelo exportar el repositorio de AWR para poder comprobar a posteriori el rendimiento de la base de datos. Os dejo el procedimiento que sigo.

-- Exportamos / Importamos Repositorio AWR de una base de datos

1.- Configuracion de retencio

SELECT snap_interval, retention FROM dba_hist_wr_control;

2.- Modificamos configuracion

EXECUTE dbms_workload_repository.modify_snapshot_settings(
	interval => 30,
	retention => 20160
);

3.- Tomamos un snapshot

EXECUTE dbms_workload_repository.create_snapshot;

4.- Info de los snapshot generados

COL startup_time for a30
COL begin_interval_time for a30
COL end_interval_time for a30
SELECT snap_id, instance_number, startup_time, begin_interval_time,end_interval_time FROM dba_hist_snapshot order by snap_id;
/*
   SNAP_ID INSTANCE_NUMBER STARTUP_TIME                   BEGIN_INTERVAL_TIME            END_INTERVAL_TIME
---------- --------------- ------------------------------ ------------------------------ ------------------------------
        54               1 03/11/14 18:00:24,000          03/11/14 18:10:56,012          21/11/14 11:20:39,884
        55               1 03/11/14 18:00:24,000          21/11/14 11:20:39,884          21/11/14 12:00:42,753
        56               1 21/11/14 13:08:53,000          21/11/14 13:08:53,000          21/11/14 13:19:50,182
        57               1 21/11/14 13:08:53,000          21/11/14 13:19:50,182          21/11/14 14:00:53,398
        58               1 21/11/14 13:08:53,000          21/11/14 14:00:53,398          21/11/14 15:00:57,149
        59               1 21/11/14 13:08:53,000          21/11/14 15:00:57,149          22/11/14 11:17:59,309
*/

5.- Generamos un informe

@?/rdbms/admin/awrrpt

/*
DBMS_WORKLOAD_REPOSITORY.AWR_DIFF_REPORT_TEXT(
   )
  RETURN awrdrpt_text_type_table PIPELINED;
  
DBMS_WORKLOAD_REPOSITORY.AWR_DIFF_REPORT_HTML(
   dbid1     IN NUMBER,
   inst_num1 IN NUMBER,
   bid1      IN NUMBER,
   eid1      IN NUMBER,
   dbid2     IN NUMBER,
   inst_num2 IN NUMBER,
   bid2      IN NUMBER,
   eid2      IN NUMBER)
  RETURN awrdrpt_text_type_table PIPELINED;
*/

SELECT DBID FROM V$DATABASE;
SELECT * FROM TABLE(DBMS_WORKLOAD_REPOSITORY.AWR_DIFF_REPORT_TEXT( 3143978686,1,18765,18766,3143978686,1,18755,18756));


--------------------------------------------------------------------
-- Exportamos / Importamos Repositorio AWR de una base de datos
--------------------------------------------------------------------

-- Datos necesarios que nos va a pedir el script
'
~     (1) database id                                              ~
~     (2) snapshot range to extract                                ~
~     (3) name of directory object                                 ~
~     (4) name of dump file                                        ~
'

-- Obtenemos la información que se nos va a solicitar.

-- DB_ID

SQL> SELECT DBID FROM V$DATABASE;
/*
      DBID
----------
2285533843
*/

-- Rango de Snapshot a extraer.

SQL> SELECT MIN(SNAP_ID),MAX(SNAP_ID) FROM DBA_HIST_SNAPSHOT;
/*
MIN(SNAP_ID) MAX(SNAP_ID)
------------ ------------
       41320        41576
*/

-- Objeto directorio donde dejar el export

SQL> SELECT * FROM ALL_DIRECTORIES;
/*
EXPORT
*/

-- Ejecutamos el script

@?/rdbms/admin/awrextr.sql

/*
Enter value for dbid: 2285533843
Enter value for num_days: 10
Enter value for begin_snap: 41343
Enter value for end_snap: 41576
Enter value for directory_name: EXPORT
Enter value for file_name: exp_awr_repository

Log del export:
/backup_zs1_prod/exports/s3/exp_awr_repository.log
*/

-- Enviamos el export al nuevo entorno
scp exp_awr_repository.dmp zsunorauatbd:/backup_zs1_prod/exports/s3

-- Importamos en el nuevo entorno

CREATE USER AWR_MOGU IDENTIFIED BY temporal QUOTA UNLIMITED ON USERS;
GRANT CONNECT, DBA TO AWR_MOGU;

-- Importamos el repositorio

SQL> @?/rdbms/admin/awrload.sql
/*
Enter value for directory_name: IMP_S3
Enter value for file_name: exp_awr_repository
Enter value for schema_name: AWR_MOGU
Enter value for default_tablespace:
Enter value for temporary_tablespace: 

*/

-- Para extraer un informe del repositorio cargado tenemos que utilizar el script awrrpti.sql

SQL>@?/rdbms/admin/awrrpti.sql

/*
Enter value for dbid: 2285533843
Enter value for inst_num: 1
Enter value for begin_snap:
Enter value for begin_snap: 41575
Enter value for end_snap: 41576
Enter value for report_name:
*/

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

Blog de WordPress.com.

A %d blogueros les gusta esto: