Desgranando el contenido de la Buffer Cache

Desgranando el contenido de la Buffer Cache

Empezamos con un poco de teoría.

Cuando hablamos de bases de datos la gestión eficiente de la memoria es esencial para garantizar un rendimiento óptimo.

Uno de los componentes críticos en Oracle en este escenario es la "Buffer Cache", la cual es una porción de la memoria del sistema dedicada a almacenar datos recuperados de las tablas y los índices, mejorando significativamente el rendimiento al reducir la necesidad de acceder constantemente al almacenamiento físico.

Un plan de ejecución ineficiente en una consulta puede tener consecuencias significativas en la Buffer Cache. Cuando las consultas no están optimizadas, se generan más operaciones de E/S (entrada/salida) para acceder a los datos necesarios. Esto significa que la Buffer Cache puede llenarse rápidamente con datos innecesarios o redundantes, desplazando bloques útiles y reduciendo la eficiencia general del sistema.

El impacto de planes ineficientes se refleja en un aumento en los tiempos de respuesta de las consultas. El sistema se ve obligado a buscar continuamente datos en el disco, ignorando la capacidad de la Buffer Cache para proporcionar acceso rápido a los bloques de datos almacenados en memoria.

Y aquí entra en juego una ayuda para dicho análisis.

¿Qué objetos residen en mi Buffer Cache?

He creado un report en sqldeveloper que nos da una visión general de los segmentos agrupados por owner.

Me resulta interesante ver quienes son los principales consumidores.

Si queremos desgranar añado una opción para realizar un drill down según el propietario que nos interese.

Y resulta de mayor interés ver qué planes son los que acceden por los objetos del detalle, junto con las lecturas de caché. Pues haciendo Drill Down ...

Pinchamos encima de unos de los objetos que tienen bloques cargados en la Buffer Cache:

Et voilá! Vemos el detalle de los planes actuales en la SGA que acceden a dicho objeto ordenador por Buffer Gets.

Ya tenemos con qué trabajar, verdad? :)

Los informes solo acceden datos del online, no es necesaria licencia de Diagnostics ni Tuning.

Si quieres una copia de los informes escríbeme y te la envío.