Diese Web-Site durchsuchen:
PicoSearch Homepage
Best practice Homepage Probleme bei Kommunikation mit SAP DB / MAX-DB

Stand: 11.09.2004 Die passende
Tasse zur Site?
Allgemeines Hier werden zwei Probleme mit der MAX-DB beschrieben, die bei mir aufgetreten sind, und wie diese in meiner Konfiguration behoben werden konnten. Ob und wie die Beschreibungen übertragbar sind, sollte jeder selber entscheiden. Diese Seite soll eine Hilfestellung geben und es wird von mir in keinster Weise eine Garantie dafür übernommen, dass diese Lösungen für andere Systeme funktionieren.
Also: Nutzung auf eigene Gefahr !
Übersicht
Problembeschreibung Server: MAX-DB 7.5.01.00 unter Linux
Client Problem 1: Applikation auf Server via JDBC
Client Problem 2: Windows Database Manager
Problem 1:
Auf dem Server selber kann man sich via dbmcli einloggen und die Datenbank starten / stoppen,
dbmcli -d MYDB -u dba,dba db_stop
OK
dbmcli -d MYDB -u dba,dba db_start
OK
allerdings lassen sich keine SQL-Abfragen an den Server stellen, oder die Datenbank über JDBC connecten.
Problem 2:
es sind mehrere Instanzen auf dem Server, die Instanzen lassen sich ansprechen, jedoch tritt beim konnektieren über den Database Manager ab und zu ein Fehler 24988 auf:

cannot create communication semaphore

In der DBMGUI:

Problem 1

In diesem Fall war ein fehlender xserver Daemon Prozess das Problem. Der xserver Daemon ist für die Kommunikation zwischen Anwendungen und den Datenbankinstanzen zuständig.
Der xserver kann neu gestartet werden durch:

[PATH to DB]/sdb/bin/x_server start

Sollte der Server bereits gestartet sein, kommt eine entsprechende Meldung, ansonsten wird der Server neu gestartet. Danach sollte eine Kommunikation wieder möglich sein. Wenn nicht, kann Problem 2 der Grund sein.

Problem 2

Der Fehler 24988 trat vor allem bei mehreren Instanzen auf dem gleichen Server. Das Problem war, dass die Datenbank keine ausreichenden Systemressourcen (Semaphore) zur Vefügung hatte. Unter Linux kann man diese mit

sysctl -a | grep kernel.sem
kernel.sem = 250 32000 32 128

anzeigen.
kernel.sem enthält Werte für die maximal verfügbaren Semaphore, die Semaphore pro Prozess,... (s. Linux Dokumentation). In aktuellen Linux Kernels lässt sich dieser Wert während der Laufzeit ändern. Ansonsten, muss der Kernel mit neuen Werten compiliert werden. Damit die Änderungen auch nach einem Neustart wieder auf einen höheren Wert gesetzt werden, sollte man dafür entsprechende Skripten anlegen.

/etc/sysctl.conf(Edit or add line):

kernel.sem=4096 512000 1600 2048

Einlesen der neuen Werte:

sysctl -p /etc/sysctl.conf

und prüfen:

sysctl -a | grep kernel.sem
kernel.sem = 4096 512000 1600 2048

Damit die Werte dann tatsächlich auch nach einem Reboot wieder gesetzt werden, muss man natürlich die Werte beim Start einlesen. Dies ist natürlich unterschiedlich für verschiedene Distributionen. Also prüfen und sonst entsprechend in einem entsprechenden Skript eintragen (z.B. /etc/init.d/rc.local unter SuSE 7.2). Unter neueren SuSE Distributionen wird das System aus dem Verzeichnis /etc/init.d gestartet. Dann befindet sich ein Skript boot.sysctl in dem Verzeichnis /etc/init.d mit dem die Datei /etc/sysctl.conf beim Start gelesen werden kann, allerdings wird dieses Skript nicht unbedingt beim Systemstart ausgeführt. Dazu muss ein Link auf diese Datei im Unterverzeichnis /etc/init.d/boot.d eingerichtet werden:

/etc/init.d# cd boot.d
/etc/init.d# ln -s /etc/init.d/boot.sysctl S20boot.sysctl
/etc/init.d# S20boot.sysctl start
Setting current sysctl status from /etc/sysctl.conf
kernel.sem = 4096 512000 1600 2048

Mehr...

Zunächst einmal, ich habe wirklich keine Zeit persönlichen Support zu leisten. Also Emails mit diesem Hintergrund fliegen gleich raus. Aber ich bin gerne bereit inhaltliche Fehler zu beseitigen, oder zusätzliche Informationen einzupflegen, in dem Fall mail an sd@morgenlan.de.


Site-Homepage
webmaster   Über diese Site

Hommingberger Gepardenforelle

So für alle, die bis hierhin gekommen sind, der restliche Text ist nur für den Wettbewerb bei heise und kann getrost ignoriert werden, aber wen es trotzdem interessiert, hier ein paar Links zu meinen Seiten für den Wettbewerb:

Homingberger Blog

Rezepte für die Homingberger Gepardenforelle