martes, 14 de abril de 2009

GESTIÓN AUTOMÁTICA DE LA MEMORIA COMPARTIDA

Gestión automática de memoria compartida

En versiones anteriores el administrador de la base de datos tenía que especificar manualmente los tamaños de los diferentes componentes del SGA configurando un número de parámetros de inicialización, que incluían el SHARED_POOL_SIZE, DB_CACHE_SIZE, JAVA_POOL_SIZE, y LARGE_POOL_SIZE. En la versión 10g se incluye la gestión automática de la memoria compartida que simplifica la gestión de la memoria del SGA. El administrador de la BD puede simplemente especificar la cantidad total de memoria del SGA disponible para una instancia usando SGA_TARGET y la base de datos automáticamente distribuirá esta memoria entre varios subcomponentes para asegurar el mayor uso de memoria efectiva.

Cuando la gestión automática de memoria del SGA esta activada, el tamaño de los diferentes componentes del SGA es flexible y pueden adaptarse a las necesidades del trabajo sin requerir ninguna configuración adicional. La base de datos automáticamente distribuye la memoria disponible entre varios componentes como se requiera, permitiendo al sistema maximizar el uso de toda la memoria del SGA disponible.

Configurando un único parámetro se simplifica mucho la tarea de administración ya que puedes especificar solo la cantidad de memoria del SGA que una instancia tiene disponible y olvidarte de los tamaños de los componentes individuales. No se generan errores de “out of memory” a menos que el sistema se haya quedado sin memoria.

La gestión automática del SGA puede mejorar el rendimiento sin necesidad de recursos adicionales ni ajustes manuales. Con la configuración manual del SGA es posible que instrucciones SQL compiladas se saquen del pool compartido debido a su insuficiente tamaño lo que incrementa la frecuencia de análisis difíciles, que reducen el rendimiento. Cuando la gestión automática del SGA esta activa, el algoritmo de ajuste interno supervisa el rendimiento del trabajo, incrementando el tamaño del pool compartido si reduce el número de análisis requeridos.

El parámetro SGA_TARGET

El parámetro SGA_TARGET refleja el tamaño total del SGA e incluye la memoria para los siguientes componentes:

  • SGA Fija y otras asignaciones internas necesarias para la instancia.

  • El log buffer

  • El pool compartido

  • El Java pool

  • La caché del buffer

  • Las cachés de los buffers keep y recycle (si son especificados)

  • El tamaño de los bloques no estándar de las cachés de los buffer (si son especificados)

  • El Streams pool

Este incluye toda la memoria del SGA, en diferencia con las versiones anteriores en las que la memoria para la SGA interna y fija se configuraba a través de otros parámetros. En consecuencia, el SGA_TARGET da un control preciso sobre el tamaño de la región de memoria compartida asignada por la base de datos. Si está configurado con un valor mayor que SGA_MAX_SIZE al inicio, entonces este último se usa como respaldo para el SGA_TARGET.

Nota:

No configurar dinámicamente el SGA_TARGET. Debería ser configurado solo al inicio.

Limitando el tamaño de la SGA

El parámetro SGA_MAX_SIZE especifica el tamaño máximo del SGA durante la duración de la instancia. Puedes modificar dinámicamente los parámetros que afectan al tamaño de las caches de los buffers, del pool compartido, large pool, java pool, y streams pool pero solo para controlar que la suma de estos tamaños y los tamaños de los otros componentes del SGA no exceden el valor especificado por SGA_MAX_SIZE.


No hay comentarios:

Publicar un comentario