DB2 V9.5.302 STMM abschalten
- Dieses Thema hat 3 Antworten und 1 Teilnehmer, und wurde zuletzt aktualisiert vor 13 Jahre, 9 Monaten von
Anonym.
-
AuthorPosts
-
11. Dezember 2009 um 11:26 Uhr #4064
AnonymInaktivHallo liebe DB2-Gemeinde,
wir arbeiten hier mit einer DB2 V9.5 bei der der Self Tuning Memory Manager aktiv ist, allerdings bereitet diese Tool etwas Probleme und ist für den aktuellen Einsatz eher ungeeignet, da es sich um eine kleine überschaubare Applikation handelt, die diese DB verwendet ( 10 User, ca. 10.000 Datensätze).Im db2diag.log tauchen hier so tolle Meldungen auf wie:
FUNCTION: DB2 UDB, Self tuning memory manager, stmmEnforceMinSizeConstraints, probe:2358
MESSAGE : Unable to find donor to satisfy minSize constraint :-[Im stmm.log kommt die Meldung:
MESSAGE : ZRC=0x00000681=1665
und danach die Meldung:
FUNCTION: DB2 UDB, Self tuning memory manager, stmmDeactivateTuningIfNecessary, probe:1963
MESSAGE : SELF_TUNING_MEM being set to ON(Inactive).
FUNCTION: DB2 UDB, Self tuning memory manager, stmmDeactivateTuningIfNecessary, probe:1966
MESSAGE : The self tuning memory feature has been deactivated because of a
      configuration parameter change, because the database has been
      quiesced, or because the database has been deactivated on a DPF
      system.Da das ganze System noch mit einem McAfee Virenscanner kontrolliert wird, ist die Performance permanent bei 100 % obwohl auf der Datenbank eigentlich nichts gemacht wird.
Bin für jede Hilfe dankbar. 😉
Gruß
Porf. Hastig
11. Dezember 2009 um 13:36 Uhr #4226
AnonymInaktivNachtrag: es gibt von IBM zwar eine tolle Beschreibung dafür, siehe unter [ftp]ftp://ftp.software.ibm.com/software/data/pubs/papers/stmm.pdf[/ftp]
, aber leider reagiert der STMM nicht auf den Befehl:
update database configuration using SELF_TUNING_MEM OFF
12. Dezember 2009 um 9:13 Uhr #4346
AnonymInaktivHi,
ü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 nnnndb2 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
GernotKennst Du schon die kostenlose Tools auf https://www.ruban.de/DB2_luw/Tools/tools.html?
12. Dezember 2009 um 13:24 Uhr #4430
AnonymInaktivHallo Ruban,
vielen Dank für die ausführliche Hilfe.
Die Werte werde ich bernehmen und so großzügig wie möglich einstellen. Wie gesagt kleine Maschine mit 2GB.Beim Virenscanner sind wir noch am experimentieren, scheinbar reagiert er mit einer Refrakterzeit auf die erweiterten Exklusionlists.
Die kostenlosen Tools kannte ich noch nicht, idR arbeite ich mit Toad.
Danke nochmals und schönes WE
-
AuthorPosts
You must be logged in to reply to this topic.