TNS-00512 Fehler mit Oracle8 unter Windows NT/2000

Diesen Artikel vom 10.1.2002 habe ich von meiner alten Homepage extrahiert, da immer noch Nachfrage nach dem Inhalt besteht und ich denke, daß der Artikel hier nun besser aufgehoben ist.

Worum geht es?

Bei der Installation von Oracle8 unter Windows NT (SP3) oder 2000 (SP2) werden Datenbanken nicht richtig installiert.
Dies passiert sowohl bei der Installation der Default-Datenbank von der CD als auch beim Aufsetzen einer neuen Datenbank mithilfe des „Oracle Database Assistant“.

Beschreibung des Problems

Bei der Installation der mitgelieferten Datenbank bleibt der Installer an der Stelle „running Scripts…“ hängen. In der Task-Leiste findet sich ein MS-DOS Fenster, in dem der svrmgr mit der Fehlermeldung „TNS: Unable to connect to destination“ hängen geblieben ist.

Der Hintergrund ist jedoch ein ganz anderer:
Versucht man, beispielsweise mit dem Oracle Database Assistant, eine neue Datenbank aufzusetzen, so gelingt dies auch zunächst. Eine Verbindung mit der Datenbank ist jedoch noch nicht möglich, weil noch kein Listener hochgefahren ist („TNS: no listener“).
Wenn man nun im DOS-Fenster den Listener-Dienst starten möchte („lsnrctl80 start„), so erhält man folgende Fehlermeldung:

  TNS-12542: TNS:address already in use
    TNS-12560: TNS:protocol adapter error
      TNS-00512: Address already in use
        32-bit Windows Error: 48: Unknown system error

Das heißt: Obwohl man bisher noch keine eigenhändige Veränderung an den Listener-Einstellungen gemacht hat, gibt es schon Fehler beim Starten des Listeners!

Lösung des Problems

Die Meldung „TNS:address already in use“ deutet an, daß bereits ein Listener auf derselben Adresse (bzw. demselben Port) lauscht, auf dem nun noch ein weiterer Listener gestartet werden soll.

Ein kurzer Blick in die Datei „listener.ora“ zeigt folgende Einträge:

        (ADDRESS=(PROTOCOL= TCP)(Host= meinhost)(Port= 1521)  )
  und
        (ADDRESS=(PROTOCOL= TCP)(Host= 127.0.0.1)(Port= 1521)  )

Hier liegt die Ursache: Der Installer hat sowohl den Hostnamen als auch die lokale Netzwerkadresse in die Datei eingetragen. Die Entfernung von einem dieser beiden Einträge (Empfehlung: den Eintrag mit „127.0.0.1“ entfernen) sorgt für Abhilfe.
Nach dem Entfernen dieses Eintrages muß der Listener neu gestartet werden. Dies kann wahlweise durch den Windows-Dienstemanager oder auf der Kommandozeile mit „lsnrctl80 reload“ erfolgen.

Schreibe einen Kommentar

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s