lunes, 17 de enero de 2011

Cómo definir el área del PGA de una base de datos Oracle.?

El PGA ( Program Global Area ), es una área de memoria privada, que contiene información de datos y control para los procesos del servidor de base de datos Oracle.  El acceso a esta área, es exclusiva para los procesos del servidor y es leída y escrita sólo por código de Oracle, que puede beneficiarse de ella, como por ejemplo, los cursores.  Cada vez que un cursor es ejecutado, una nueva área de ejecución es creada para el cursor en la región del PGA.

Cuando se realizan consultas complejas, como por ejemplo en sistemas datawarehouse; una gran porción de memoria es utilizada, por operadores tales como:
  • Operadores de ordenamiento como ORDER BY, GROUP BY, ROLLUP
  • Hash-join
  • Bitmap merge
  • Bitmap create
  • Escritura de buffers por operaciones de cargas masivas
Todos los anteriores operadores, realizan el ordenamiento de registros en memoría y se benefician de la adecuada configuración del área PGA.  Grandes cantidades de memoria asignadas a este región, pueden mejorar notablemente el rendimiento de una consulta o aplicación, pero pagando el alto precio, de consumo de memoria física del equipo.

Ahora bien, estas áreas pueden ser administradas y optimizadas por parte de Oracle de manera automática.  Sin embargo, hay que tener en cuenta, que al igual que otras características de administración automática, estan ligadas con el acceso a los "Advisors" - Consejeros, que forman parte de alguno de los paquetes administrativos del Oracle Enterprise Manager y que no estan disponibles para las versiones One Edition y Standard Edition.

Por tanto, cuál debería ser un valor apropiado inicial, para este parámetro, para arrancar en nuestras bases de datos, sino podemos utilizar el modo automático de administración del Program Global Area, para empezar a obtener el beneficio de la utilización de esta área?
 
Una simple ecuación, es recomendada en los manuales del administración, para definir los valores iniciales para el PGA_AGGREGATE_TARGET.
 
  • Para sistemas OLTP: PGA_AGGREGATE_TARGET = (total_memoria * 80%) * 20%
  • Para sistemas DSS: PGA_AGGREGATE_TARGET = (total_memoria * 80%) * 50%

De ahí en adelante, un constante monitoreo del rendimiento de las consultas ejecutadas, nos daría la razón y la guía a seguir, en caso de requerir algún ajuste adicional.

 

 

No hay comentarios:

Publicar un comentario

Te agradezco tus comentarios. Te esperamos de vuelta.

Todos los Sábados a las 8:00PM

Optimismo para una vida Mejor

Optimismo para una vida Mejor
Noticias buenas que comentar