1. Glosario/

ASH

Active Session History

ASH (Active Session History) es un componente de Oracle Database que muestrea el estado de cada sesion activa una vez por segundo y almacena los datos en un buffer circular en memoria (vista V$ACTIVE_SESSION_HISTORY).

Como funciona #

Cada segundo Oracle registra para cada sesion activa:

  • SQL en ejecucion (SQL_ID)
  • Wait event actual
  • Programa y modulo llamante
  • Plan de ejecucion utilizado (SQL_PLAN_HASH_VALUE)

Los datos mas antiguos se descargan automaticamente en las tablas AWR (DBA_HIST_ACTIVE_SESS_HISTORY) y se conservan durante el periodo configurado.

Para que sirve #

ASH es el microscopio del DBA: donde AWR muestra promedios sobre intervalos de una hora, ASH permite reconstruir que estaba haciendo una sesion concreta en un instante preciso. Es la herramienta ideal para:

  • Identificar quien esta ejecutando un SQL problematico
  • Entender cuando empezo un problema (al segundo)
  • Correlacionar sesiones, programas y wait events en tiempo real

Cuando se usa #

Se usa cuando el informe AWR ya ha identificado un SQL o un wait event dominante y se necesita detalle: que sesion, que programa, a que hora exacta. La regla empirica: AWR para entender que cambio, ASH para entender por que.