Forum
Hi,
überall, wie auch in dem von Dir zitierten Dokument, werden die Vorzüge von STMM gepriesen, aber leider gibt es häufig auch Probleme damit und Dokumentation nur Deaktivierung von STMM sind rar.
Auf jeden Fall findest Du hier ("Understanding the advantages of DB2 9 autonomic computing features":Â
http://www.ibm.com/developerworks/db2/library/techarticle/dm-0709saraswatipura/) einen sehr schönen Aufsatz, der die Zusammenhänge gut beschreibt.
Zur vollständigen Deaktivierung folgende Einstellungen beachten:
[tt]db2 update db cfg for <db>Â using SELF_TUNING_MEMÂ OFFÂ Â Â Â Â Â Â
db2 update dbm cfg using SHEAPTHRES 0Â Â Â Â Â Â
db2 update db cfg for <db> using DATABASE_MEMORY COMPUTED|AUTOMATIC|<value>     <<< opt. Festwert setzen  Â
db2 update db cfg for <db>Â using LOCKLISTÂ Â nnnn
db2 update db cfg for <db>Â using MAXLOCKS nn
db2 update db cfg for <db>Â using PCKCACHESZ nnnn
db2 update db cfg for <db>Â using SORTHEAP nnnn
db2 update db cfg for <db>Â using SHEAPTHRES_SHR nnnn
db2 alter bufferpool <bp> size nnnnn
db2 update dbm cfg using INSTANCE_MEMORYÂ AUTOMATIC|<value>Â Â Â Â Â <<< opt. Festwert setzen
db2stop
db2start [/tt]
Ausschlaggebend – überhaupt bei jeder Art die Konfiguration, STMM oder Non-STMM – ist die Grüße des Hauptspeichers, die man dem DB2 (DBM Cfg) oder der Datenbank (DB Cfg) zubilligen will. D.h. entweder INSTANCE_MEMORY oder DATABASE_MEMORY sollte die Obergrenze des konsumierbaren Hauptspeichers abbilden. Aus der Doku:
- instance_memory: Mit diesem Parameter wird die maximale Speichermenge angegeben, die der Datenbankpartition zugeordnet werden kann.
- database_memory: Dieser Parameter gibt die Menge des Speichers an, die für den gemeinsam genutzten Speicherbereich einer Datenbank reserviert ist. Ist diese Menge geringer als die aus den einzelnen Speicherparametern berechnete Menge (beispielsweise aus Sperrenlisten, Zwischenspeichern von Dienstprogrammen, Pufferpools usw.) wird die größere Menge verwendet.
Zur Unterstützung der Bestimmung von Konfigurationseinstellungen kann der DB2 Configuration Assistent aufgerufen werden. Er zeigt die momentan gewählte Einstellung an und errechnet Vorschlagswerte anhand von zahlreichen Parametern.
[tt]db2 autoconfigure using mem_percent 50 apply none [/tt]
Dieses Beispiel: Vorschlag für Instance/Database Configuration bei 50% RAM-Nutzung durch DB2.
Bufferpool(s): 1000 Pages sollten es schon sein. Das System lebt von seinen "Caches", den Bufferppols. Bei 10.000 Sätzen (Länge?) sollte dies beinahe ausreichend sein. Wenn genügend RAM vorhanden ist, gib mehr.
Viren Scanner:
Ganz böse Geschichte: Der Hersteller loben sich zwar, dass ihre Suiten verschiedene, gängige Datenbanken-Produkte (auch DB2) erkennen können, trotzdem scannen sie meist deren "Betriebsdateien". D.h.: Unbedingt DB2 Pfade in die EXCLUDE Liste des Viren Scanners aufnehmen, denn DB2 schreibt ständig Recovery/Diagnose/… Logs und natürlich Datenbanken-Files.
Ein Task Manager, ein SysInternal Tool, SystemExplorer oder ein änhliches Tool sollten dabei helfen können, die CPU- und RAM-Konsumenten zu entlarven.
Viel Erfolg
Gernot
Kennst Du schon die kostenlose Tools auf https://www.ruban.de/DB2_luw/Tools/tools.html?