Macht ein Oracle-Prozess eine Operation wie Sort oder Hash-Join erforderlich, greift er auf den gemeinsam genutzten RAM-Speicherbereich innerhalb der Region pga_aggregate_target zu und versucht für die Durchführung der Operation ausreichend zusammenhängende RAM-Frames zu erhalten. Ist der Prozess in der Lage, diese RAM-Frames sofort zu erhalten, wird er als optimaler RAM-Zugriff markiert. Erfordert der RAM-Erwerb einen einzelnen Durchgang durch pga_aggregate-target, wird die Allozierung des RAM-Speichers als Einschritt (one pass) gekennzeichnet. Wird aber der gesamte RAM-Speicher gerade verwendet, ist es möglich, dass Oracle mehrere Durchgänge durch pga_aggregate_target machen muss, um den nötigen Speicher zu erhalten. Dies wird Mehrschritt (multipass) genannt.
Man sollte nicht vergessen, dass RAM-Speicher extrem schnell ist und dass die meisten Sort- oder Hash-Join-Operationen in Bruchteilen von Sekunden ausgeführt werden. Oracle ermöglicht es einem einzelnen Prozess, bis zu fünf Prozent von pga_aggregate_target einzunehmen, und parallele Operationen können bis zu 30 Prozent des PGA-RAM-Pools verwenden.
Mehrschritt-Zugriffe weisen auf einen Mangel an RAM-Speicher hin – deshalb sollte man immer ausreichend RAM zuweisen, um sicherzustellen, dass mindestens 95 Prozent der angeschlossenen Tasks ihren RAM-Speicher auf optimale Weise erhalten können.
Durch Abfrage der hier gezeigten Ansicht v$sysstat kann man außerdem Informationen über Workarea-Ausführungen erhalten:
col c1 heading 'Workarea|Profile' format a35 col c2 heading 'Count' format 999,999,999 col c3 heading 'Percentage' format 99 select name c1,cnt c2,decode(total, 0, 0, round(cnt*100/total)) c3 from ( select name,value cnt,(sum(value) over ()) total from v$sysstat where name like 'workarea exec%' );
Listing C zeigt die Ausgabe.
Mindestent 95 Proizent der Tasks sollten optimale Workarea-Ausführungen haben. In der oben angegebenen Ausgabe kann man alle Workarea-Ausführungen sehen, die entweder optimal oder im Ein- oder Mehrschrittmodus ausgeführt wurden.
Dieses Listing liefert wertvolle Informationen über die für die Region pga_aggregate_target geeignete Größe. Es kann auch auf eine „Überallozierung“ des RAM-Speicherbereichs hinweisen. Liegt die Prozentzahl der optimalen Workarea-Ausführungen konstant bei 98 bis 100 Prozent, kann man ruhig einige RAM-Frames von pga_aggregate_target abziehen und anderen Bereichen der Oracle SGA (zum Beispiel db_cache_size) zuweisen, die einen größeren Bedarf an RAM-Speicherressourcen haben.
Neueste Kommentare
Noch keine Kommentare zu Oracle 9i: Verbesserter Überblick über die RAM-Verwendung
Kommentar hinzufügenVielen Dank für Ihren Kommentar.
Ihr Kommentar wurde gespeichert und wartet auf Moderation.