Quizás esto sea normal, pero en mi base de datos Oracle 11g veo que los programadores que usan el SQL Developer de Oracle consumen regularmente más de 100MB de memoria combinada UGA y PGA. Me gustaría saber si esto es normal y qué se puede hacer al respecto. Nuestra base de datos se encuentra en la versión de 32 bits de Windows 2008, por lo que las limitaciones de memoria se están convirtiendo en una preocupación cada vez mayor. Estoy utilizando la siguiente consulta para mostrar el uso de memoria:SQLDeveloper usando más de 100MB de PGA
SELECT e.SID, e.username, e.status, b.PGA_MEMORY
FROM v$session e
LEFT JOIN
(select y.SID, y.value pga,
TO_CHAR(ROUND(y.value/1024/1024),99999999) || ' MB' PGA_MEMORY
from v$sesstat y, v$statname z
where y.STATISTIC# = z.STATISTIC# and NAME = 'session pga memory') b
ON e.sid=b.sid
WHERE (PGA)/1024/1024 > 20
ORDER BY 4 DESC;
Parece que el uso de los recursos sube cada vez que se abre una tabla en SQLDeveloper, pero incluso cuando está cerrada la memoria no desaparece. El problema es peor si la tabla está ordenada mientras estaba abierta ya que parece usar aún más memoria. Entiendo cómo esto usaría la memoria mientras está ordenando, y tal vez incluso cuando aún está abierta, pero usar memoria después de que esté cerrada me parece incorrecta. ¿Alguien puede confirmar esto?
Actualización: Descubrí que mis números estaban apagados debido a no entender que the UGA is stored in the PGA under dedicated server mode. Esto hace que los números sean más bajos de lo que eran, pero el problema sigue siendo que SQL Developer parece usar un PGA excesivo.
+1 Estás en lo correcto. Parece guardarlos en la memoria incluso después de cerrar la tabla en SQLDeveloper. Como se espera que la versión tres se lance pronto, probablemente espere para ver si tiene un problema y abra un SR si lo hace. Estamos menos preocupados por el problema ahora porque hemos actualizado a 64 bits y triplicado la memoria. –