Forum
Hi,
wenn ich ins db2diag.log schaue sehe ich zum Beispiel "Private memory and/or virtual address space exhausted.", oder "Database will come up with hidden buffer pools."
Vermutlich ist der Server einfach AM ENDE! Die alte bekannte Maurer-Problem: "Koi Speis mehr!"
Ich dachte erst, es würde sich nur um eine einzelne Datenbank handeln. Aber wenn die Bufferpools einer Datenbank schon 1 GB verzehren, naja …  😛
Deswegen sollte man nun erstmal den Hauptspeicher auf dem DB2 Server kontrollieren. Dafür stehen graphische Oberflächen zur Verfügung:
- Windows Monitor: Start – Programme -Verwaltung – Leistung – Leistungsindikator hinzufügen: Speicher/Verfügbare KB
- DB2 Memory Visualizer: Über Steuerzentrale oder [tt]db2cc -mv[/tt]
Mit DB2 Commands dann weiter in die Tiefe steigen …
- DB2 Memory Tracker: [tt]db2mtrk -i -d -w [-v][/tt]
- [tt]db2pd -osinfo  [/tt]  (zeigt CPU’s, Hauptspeicher inges. etc pp)
Bei Konfigurations-Änderungen beachten: Besser DB2 Datenbank ([tt]db2 deactivate db …/db2 activate db …[/tt]) oder Instance ([tt]db2stop/db2start[/tt]) durchstarten. Weil wir gerade bei dem Thema sind: [tt]db2 activate db …[/tt] bereitet die Datenbank für deren Nutzung vor, d.h. alle Speicherbereiche werden eingerichtet. In allen anderen Fällen geschieht das erst mit dem 1. Connect eines Benutzers. Ohne ACTIVATE und wenn sich alle Benutzer wieder abgemeldet haben, "fällt die Datenbank" (im Hauptspeicher) sozusagen wieder zusammen.
Sprich: Für Beobachtung des üblichen Hauptspeicherbedarfs ist [tt]db2 activate db …[/tt] also gar nicht schlecht!  😉
Unter Umständen würde es helfen die Datenbanken auf 2 Instanzen auf demselben Server zu verteilen. Die dürften insgesamt mehr Speicher adressieren und besser ausnützen dürfen?!
In Anbetracht der Hautpspeicher-Situation Datenbanken gewichten, Bufferpool-Größen und Konfigurationsgrößen von weniger wichtigen DB’s herunterfahren. Diese übergroßen Bufferpools mit 60.000 und 270.000 Bufferpool Pages unbedingt radikal reduzieren – einfach mal mit z.B. 5.000 und 10.000 probieren!
Wir sind gespannt wie es weitergeht! Â 😮
Viel Erfolg
Gernot Ruban
PS: Ähm, am Ende der Analyse vielleicht dann kein [tt]db2 activate db …[/tt] mehr, damit der knappe Speicher von inaktiven DB’s dann schnell wieder den anderen aktiven DB’s zur Verfügung steht!