AWR (Automatic Workload Repository) Introduccion
Tiene las funciones de recopilar, procesar y mantener estadisticas y metricas de la base de datos.
AWR se forma a base de Snapshot o capturas de determinados datos de la base de datos.
Considerarmos una BASELINE como un conjunto de snapshots que representan un determiando estado de la base de datos. Se utilizaran para comparar con estados futuros de la base de datos.
Los datos almacenados en AWR se encuentran es estructuras de memoria llamadas fixed tables.
Existen dos tipos de estadisticas:
a) Performance Stadistics
b) Optimized Stadistics.
PERFORMANCE STADISTICS
Nos muestran el funcionamiento de la Base de Datos a lo largo del tiempo. Analizando estas estadisticas veremos una posible degradacion del funcionamiento de la base de datos.
Categorias:
a) Cumulative values: Estadisticas que se actualizan constantemente.
b) Metrics: Muestran rangos de variacion.
c) Sampled: Muestran el estado de todas las sesiones activas.
AWR almacena estadisticas de diferentes tipos:
a) Tiempo
b) Sistema operativo
c) Tiempo de Espera.
Workload Repository pertenece a SYS y se almacena en SYSAUX.
Para habilitar AWR tenemos que configurar el parametro STATISTICS_LEVEL a alguno de estos valores TYPICAL(por defecto)|ALL. En BASIC,AWR no funciona de forma automatica.
sql> ALTER SYSTEM SET STATISTICS_LEVEL=TYPICAL SCOPE=BOTH
El espacio que ocupara AWR dependera del numero de sesiones que tengamos activas, de SNAPSHOT INTERVAL y RETENTION PERIOD. Sera MMON el encargado de liberar espacio.
ASH buffer es una pila FIFO de la que MMON estrae estadisticas para alimentar AWR. ASH es una estructura de memoria que se encuentra en la Shared Pool ocupando un espacio que sera el numero de procesadores por 2M o el 5% de la Shared Pool. Cojeremos el menor. MMON se encargara de vaciar este buffer cada 30 min si ASM se llena cada menos sera MMNL el que se encarge de liberar parte.
Podemos gestionar AWR a traves de:
a) Enterprise Manager
b) DBMS_WORLOAD_REPOSITORY — CREATE_SNAPSHOT, DROP_SNAPSHOT_RANGE, CREATE_BASELINE, DROP_BASELINE, MODIFY_SNAPSHOT_SETTINGS.
Ejemplo:
1) Comprobamos el valor STATISTICS_LEVEL.
sql> show parameter STATISTICS_LEVEL;
NOTA: Debe de estar configurado a TYPICAL|ALL
2) Comprobamos SNAPSHOT INTERVAL y RETENTION PERIOD.
sql> select * from DBA_HIST_WR_CONTROL;
SNAP_INTERVAL (1hora) RETENTION (7 Dias)
—————– —————–
+00000 01:00:00.0 +00007 00:00:00:0
2) Creamos un nuevo SNAPSHOT.
sql> BEGIN
2 DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT();
3 END;
4 /
3) Modificamos parametros SNAPSHOT INTERVAL (2 horas) y RETENTION PERIOD (10 dias).
sql> BEGIN
2 DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS(
3 RETENTION=>14400,
4 INTERVAL=>120);
5 END;
4) Borramos ultimo Snapshot generado:
4.1) Nos quedamos con el ultimo que he generado.
sql>SELECT MAX(SNAP_ID) FROM DBA_HIST_SNAPSHOT;
4.2) Lo borramos
sql>BEGIN
2 DBMS_WORKLOAD_REPOSITORY.DROP_SNAPSHOT_RANGE(LOW_SNAP_ID=>74,HIGH_SNAP_ID=>74);
3 END;
/
VISTAS INTERESANTES AWR:
DBA_HIST_BASELINE
DBA_HIST_WR_CONTROL
DBA_HIST_SNAPSHOT
REPORT ESTADISTICAS AWR.
sql>@$ORACLE_HOME/rdbms/admin/awrrpt.sql (Verstion txt o html)
1 Respuesta a “Automatic Workload Repository -PARTE 1”