Skip to main content

Command Palette

Search for a command to run...

Ajustando STATSPACK Collection levels

Published
•2 min read•View as Markdown
Ajustando STATSPACK Collection levels
C

Mi nombre es Carla y me defino como una apasionada de conocer, compartir ideas, divertirme y aprender todo lo relacionado con Oracle.

Alegre y creativa, con un alto grado de autoexigencia, que busca, incluso sin querer, una forma diferente de ver un mismo problema o solución. Defensora del trabajo en equipo en todas las facetas de la vida y de disfrutar todo lo que haces, siempre con humildad.

Actualmente cuento con más de 15 años de experiencia como administradora de Oracle, habiendo ocupado previamente posiciones como desarrolladora en la rama de Inteligencia de Negocios. Fue en ese momento que me di cuenta de que no quería centrarme en el desarrollo, sino participar en todas las capas que involucraban los datos, desde el despliegue de la base de datos hasta su explotación final.

Siempre estoy dispuesta a ayudar y compartir conocimientos. Creo firmemente que con la tecnología hay que divertirse y no verla como una competencia. La persona con la que tienes que ser el mejor es contigo mismo.

Statspack es una herramienta de rendimiento en Oracle que se utiliza para recopilar y mostrar estadísticas detalladas sobre el rendimiento de una base de datos.

Está diseñado para ayudar a los administradores de bases de datos a identificar cuellos de botella y problemas de rendimiento.

En términos generales, Statspack recopila datos de rendimiento en intervalos regulares y almacena esta información en tablas especiales en la base de datos. Luego, los informes de Statspack pueden ser generados para analizar estas estadísticas y entender mejor el comportamiento de la base de datos.

Los "collection levels" en Statspack se refieren a la cantidad y el tipo de información que Statspack recopila en cada ejecución.

Hay varios niveles de recopilación disponibles, desde niveles básicos hasta niveles más detallados.

Aquí hay una breve descripción de algunos de los collection levels más comunes:

SELECT * FROM stats$level_description ORDER BY snap_level;

SNAP_LEVEL DESCRIPTION                                                                                                                                                                                                                                                                                                 
---------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
         0 This level captures general statistics, including rollback segment, row cache, SGA, system events, background events, session events, system statistics, wait statistics, lock statistics, and Latch information                                                                                            
         5 This level includes capturing high resource usage SQL Statements, along with all data captured by lower levels                                                                                                                                                                                              
         6 This level includes capturing SQL plan and SQL plan usage information for high resource usage SQL Statements, along with all data captured by lower levels                                                                                                                                                  
         7 This level captures segment level statistics, including logical and physical reads, row lock, itl and buffer busy waits, along with all data captured by lower levels                                                                                                                                       
        10 This level includes capturing Child Latch statistics, along with all data captured by lower levels

A continuación muestro el procedimiento para modificar dicho nivel de recolección a un nivel 6, ya que me resulta necesario a la hora de analizar planes de ejecución de SQLID (aplica para un caso de análisis donde analizo el impacto del uso de un índice en concreto para distintos sqlid)


select SNAP_LEVEL from  STATS$STATSPACK_PARAMETER;

SNAP_LEVEL
----------
         5

exec statspack.snap(i_snap_level => 6, i_modify_parameter => 'true');

PL/SQL procedure successfully completed.

select SNAP_LEVEL from  STATS$STATSPACK_PARAMETER;

SNAP_LEVEL
----------
         6


select name,snap_id, snap_level, to_char(snap_time,'DD/MM/YYYY:HH24:MI:SS') "Date/Time"
from stats$snapshot,v$database
where snap_time > (sysdate-1) 
order by snap_id desc
fetch first 1 rows only;

NAME         SNAP_ID SNAP_LEVEL Date/Time          
--------- ---------- ---------- -------------------
BBDDPRO        29939          6 15/11/2023:13:48:25

Recuerda que la información recopilada por Statspack puede consumir espacio en la base de datos, por lo que es importante encontrar un equilibrio entre la cantidad de detalles necesarios y el impacto en el almacenamiento.

More from this blog

Carla Muñoz López

65 posts

Soy DBA senior de bases de datos Oracle y me defino como una persona alegre y creativa. Apasionada por conocer, compartir ideas, divertirme y seguir aprendiendo todo lo relacionado con Oracle.