Immer wieder stelle ich fest, dass Datenbanken unvorteilhaft konfiguriert werden. Dies ist vor allem auf die Dokumente von Oracle zurückzuführen, die hier nicht alle Aspekte abdecken. Um Automatic Memory Management zu nutzen, müssen die folgenden Parameter gesetzt werden:
- MEMORY_TARGET: Definiert die Obergrenze des Dynamisch verwalteten Speichers. SGA + PGA = MEMORY_TARGET.
- MEMORY_MAX_TARGET: Dieser Parameter ist optional. Wenn er auf 0 steht, wird bei starten der Instanz der Parameter auf den selben Wert wie MEMORY_TARGET gesetzt.
- SGA_TARGET: Laut Oracle Note 443746.1 soll dieser Parameter auf 0 gesetzt werden. In der Theorie stimme ich zu, in der Praxis nicht. Mehr dazu im nächsten Absatz.
- PGA_AGGREGATE_TARGET: Das Selbe wie für Parameter SGA_TARGET.
Mein Vorschlag ist deshalb die Parameter SGA_TARGET und PGA_AGGREAGATE_TARGET auf einen kleinen Wert zu setzen. Dieser Wert ist dann jeweils das Minimum an zugewiesenem Speicher und erlaubt Oracle trotzdem frei mit dem Speicher zu haushalten.
Als vollständiges Beispiel hier:
SQL> show parameter target NAME TYPE VALUE ------------------------------------ --------------------------------- ------------------------------ archive_lag_target integer 0 db_flashback_retention_target integer 1440 fast_start_io_target integer 0 fast_start_mttr_target integer 0 memory_max_target big integer 12G memory_target big integer 12G parallel_servers_target integer 64 pga_aggregate_target big integer 500M sga_target big integer 2G
That's IT
Keine Kommentare:
Kommentar veröffentlichen