Vielleicht ist das normal, aber in meiner Oracle 11g Datenbank sehe ich Programmierer mit Oracle SQL Developer regelmäßig verbrauchen mehr als 100 MB UGA und PGA-Speicher kombiniert. Ich würde gerne wissen, ob das normal ist und was dagegen getan werden kann. Unsere Datenbank befindet sich in der 32-Bit-Version von Windows 2008. Speicherbeschränkungen werden daher immer wichtiger. Ich verwende die folgende Abfrage die Speichernutzung zu zeigen:SQLDeveloper mit über 100 MB 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;
Es scheint, dass die Ressourcennutzung jederzeit nach oben geht eine Tabelle in sqldeveloper geöffnet wird, aber selbst wenn es geschlossen ist der Speicher nicht weggeht. Das Problem ist schlimmer, wenn die Tabelle sortiert wird, während sie geöffnet ist, da sie anscheinend noch mehr Speicher verwendet. Ich verstehe, wie dies Speicher verwenden würde, während es sortiert, und vielleicht sogar, während es noch offen ist, aber Speicher zu verwenden, nachdem es geschlossen wird, scheint mir falsch. Kann das jemand bestätigen?
Update: Ich entdeckte, dass meine Zahlen aufgrund nicht zu verstehen, dass the UGA is stored in the PGA under dedicated server mode. Dies macht die Zahlen niedriger als sie waren, aber das Problem bleibt, dass SQL Developer übermäßig PGA zu verwenden scheint.
+1 Sie haben Recht. Es scheint, diese im Speicher zu halten, auch nachdem die Tabelle in SQLDeveloper geschlossen wurde. Da erwartet wird, dass Version drei bald veröffentlicht wird, werde ich wahrscheinlich abwarten, ob es ein Problem hat, und dann eine SR öffnen, falls dies der Fall ist. Wir sind jetzt weniger besorgt über das Problem, da wir auf 64 Bit aufgerüstet und den Speicher verdreifacht haben. –