Oracle - Memoria saturada con Oracle

 
Vista:

Memoria saturada con Oracle

Publicado por William (3 intervenciones) el 21/07/2009 15:57:38
Saludos a todos, tengo un problema que aun no puedo resolver y he buscado por todos lados.
Cuando el servidor de base de datos tenía 4Gb de memoria, Oracle ocupada casi la totalidad de la memoria. Luego se le aumentó 4Gb más y ahora... ORACLE YA CONSUME LOS 8GB DE MEMORIA. ¿Que falta hacer? ¿Algun tipo de configuración? ¿Cambiar parametros?

Les agradezco de antemano su ayuda.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Memoria saturada con Oracle

Publicado por Fernando (1 intervención) el 21/07/2009 19:08:01
Depende de tus parametros es lo que utilizara oracle. Oracle no utiliza memoria por si sola, se necesita poner los parametros, depende de la version seran los parametros.

Es oracle en windows o en *nix??

Si puedes pega aqui tu pfile o spfile para revisar los parametros.

Saludos.

FR.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Memoria saturada con Oracle

Publicado por William (3 intervenciones) el 21/07/2009 20:36:41
Hola, muchas gracias por contestar. Aca algunos datos:
Sistema Operativo: Red Hat Enterprise Linux ES release 4 (Nahant)
Kernel: 2.6.9-5.ELsmp

spfile:

nombreusuario.__db_cache_size=889192448
nombreinstancia.__db_cache_size=939524096
nombreusuario.__java_pool_size=33554432
nombreinstancia.__java_pool_size=16777216
nombreusuario.__large_pool_size=16777216
nombreinstancia.__large_pool_size=16777216
nombreusuario.__shared_pool_size=301989888
nombreinstancia.__shared_pool_size=251658240
nombreusuario.__streams_pool_size=0
nombreinstancia.__streams_pool_size=16777216
"spfilenombreinstancia.ora" [noeol] 36L, 3584C 7,1 Top

Agradezco tu ayuda y tu tiempo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Memoria saturada con Oracle

Publicado por Serenaender (2 intervenciones) el 23/07/2009 01:39:16
Si revisamos los paramétros vemos entre otras cosas que la SGA no es la responsable de ese consumo de memoria

896 MB para el buffer cache
240 MB para la shared pool

Realmente estos valores son muy bajos si disponéis de 8 GB. Tampoco comentas nada relacionado con errores ORA-04031, habitual cuando no hay SGA suficiente.

Asumo que habéis certificado que el proceso pmon es el responsable del consumo de los 8 GB. Si os está consumiendo esa cantidad de memoria entiendo que podría deberse a un exceso de conexiones en modo dedicado.

Yo valoraría el uso de conexiones en modo compartido.

También revisaría la vista v$resource_limit para comprobar cuál es y ha sido el número de procesos concurrentes y limitaría los parámetros processes y sessions a un número más adecuado.

También establecería el parámetro pga_aggregate_target para asignar un tamaño de memoria a la PGA (si es que decidís seguir en modo dedicado)

Una vez hecho esto y solucionado el problema de la memoria incrementaría los valores para el buffer cache y la shared pool, os evitará contención de disco y hard parse respectivamente.

Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Memoria saturada con Oracle

Publicado por William (3 intervenciones) el 23/07/2009 19:48:36
Muchísimas gracias por su ayuda. Estimad@ Serenaender, estos son los resultados de la vista v$resource_limit:

RESOURCE_NAME CURRENT_UTILIZATION MAX_UTILIZATION INITIAL_ALLOCATION LIMIT_VALUE
processes 107 150 150 150
sessions 111 155 500 500

Al parecer el processes ha llegado al limite y habrá que agregarle más.¿¿ A eso se deberá que los usuarios de los sistemas que se conectan a ese servidor Oracle de desconecten cuando se usan más conexiones?? Lo intentaré.

Si en el caso que continue con el modo dedicado, sobre esto:

"También establecería el parámetro pga_aggregate_target para asignar un tamaño de memoria a la PGA (si es que decidís seguir en modo dedicado) "

qué cantidad me recomendaría para una memoria de 8Gb.¿¿??
Muchisimas gracias de antemano.
Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Memoria saturada con Oracle

Publicado por Serenaender (2 intervenciones) el 24/07/2009 00:28:18
El número de processes establecido no es muy alto pero si cada usuario que se conecta hace un uso intensivo de ordenaciones, hash joins, etc, se podría superar ampliamente esos 8 GB (el límite de pga asignada por proceso es por defecto 200 MB)

Tenéis dos problemas, por un lado el alto consumo de memoria y por otro lado desconexiones de usuarios cuando el límite establecido por el parámetro processes es superado.

Si incrementamos el parámetro processes evitaríamos las desconexiones pero eso requeriría mayores consumos de memoria.

Creo que la solución pasa diréctamente por pasar a servidor en modo compartido. Cualquiera de las otras soluciones os generaría problemas en uno u otro sentido.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar