Tamaño total de memoria (MEMORY_TARGET)

MEMORY_TARGET especifica la memoria utilizable del sistema Oracle, incluidas SGA y PGA. Antes de la versión 11g de la base de datos Oracle, SGA y PGA tenían que ajustarse por separado.

Si una base de datos se actualiza de Oracle 10g a 11g, MEMORY_TARGET se puede determinar agregando simplemente SGA_TARGET y PGA_AGGREGATE_TARGET desde la base de datos Oracle 10g.

Si una base de datos se actualiza de Oracle 9i a 11g, MEMORY_TARGET se puede determinar agregando PGA_AGGREGATE_TARGET y todos los componentes de SGA, incluidos DB_CACHE_SIZE, SHARED_POOL_SIZE, LARGE_POOL_SIZE, JAVA_POOL_SIZE, etc.

Si una base de datos no se ha actualizado desde una versión anterior y no tiene referencias de historial, Oracle recomienda que se defina inicialmente este parámetro de 1 a 3 GB, según los recursos y límites del sistema. Después de que la base de datos se haya utilizado durante un tiempo, este parámetro se puede ajustar de la siguiente forma. (Este ajuste también se aplica a los dos escenarios de actualización anteriores).

SQL> select * from v$memory_target_advice order by memory_size;
MEMORY_SIZE MEMORY_SIZE_FACTOR ESTD_DB_TIME ESTD_DB_TIME_FACTOR VERSION
180 .5 458 1.344 0
270 .75 367 1.0761 0
360 1 341 1 0
450 1.25 335 .9817 0
540 1.5 335 .9817 0
630 1.75 335 .9817 0
720 2 335 .9817 0

La fila con MEMORY_SIZE_FACTOR de 1 muestra el tamaño actual de la memoria, tal como lo definió el parámetro de inicialización MEMORY_TARGET, y la cantidad de tiempo de base de datos necesario para completar la carga de trabajo actual. En las filas anteriores y posteriores, los resultados muestran varios tamaños de MEMORY_TARGET alternativos. Para cada tamaño alternativo, la base de datos muestra el factor de tamaño (el múltiplo del tamaño actual) y el tiempo de base de datos estimado para completar la carga de trabajo actual si el parámetro MEMORY_TARGET se cambiara al tamaño alternativo. Tenga en cuenta que para un tamaño de memoria total inferior al tamaño de MEMORY_TARGET actual (360 en este ejemplo), el tiempo de base de datos estimado (ESTD_DB_TIME) aumenta. También debe tener en cuenta que en este ejemplo no se obtiene nada al aumentar el tamaño total de memoria por encima de 450 MB, puesto que el valor ESTD_DB_TIME no disminuye. Por tanto, en este ejemplo, el tamaño sugerido de MEMORY_TARGET es 450 MB.