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