DB2 in der Terminal Session – wechseln der Instanz

Man verbindet sich mit einer Terminal Session zu seinem Datenbank Server und führt das bekannte db2profile aus.
Im nächsten Schritt will man ein einfaches db2 connect to blabla, doch man erhält die Fehlermeldung, dass diese Datenbank unbekannt ist – aber es gibt sie wirklich. Denn leider ist man mit der falschen Instanz verbunden, denn der Server besitzt mehrere Instanzen von DB2 (nennen wir sie mal db2inst1 und db2inst2).

Man erkennt den Fehler, was nun.

Im nächsten Schritt, muss man die Werte, die mittels db2profile (oder der Shell Konfiguration) gesetzt wurden „überschreiben“. Da hilft eine einfache Umgebungsvariable DB2INSTANCE.

export DB2INSTANCE=db2inst2

Ruft man nun erneut db2 connect to blabla auf, erhält man dummerweise die gleiche Fehlermeldung wie zuvor. Das Problem liegt daran, dass DB2 einen Background Prozess startet, der sich die aktuell gesetzte Instanz merkt.

ps -ef | grep db2bp

Diese Abfrage sollte zumindest einen Prozess als Ergebnis liefern. Also wie kommt man auf die andere Instanz? Man muss diesen Prozess sauber beenden. Auch dafür liefert DB2 einen Befehl:

db2 terminate

Wurde diese ausgeführt, sollte der Prozess db2bp nicht mehr vorhanden sein und man kann sich mit der gewünschten Datenbank auf der anderen Instanz verbinden.

Mehr Informationen für db2 terminate unter DB2 9.7 findet man hier.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.