Oracle-Client ORA-12541: TNS: kein Listener [geschlossen]

81

Ich bin neu in der Oracle-Datenbank, habe aber ein Problem. Auf meinem Datenbankserver (Server1) werden der Listener und die Datenbankinstanz ordnungsgemäß ausgeführt, und ich kann sqlpluseine Verbindung zu dieser Datenbank herstellen . Wenn ich über einen anderen Server eine Verbindung zur Datenbank herstelle, überprüfe ich die TNS-Konfiguration und sie ist korrekt, aber das System sagt:

ERROR:
ORA-12541: TNS:no listener

Meine Datenbank ist Oracle 10gR2

Wie kann ich dieses Problem lösen?

aliasosx
quelle
4
sollte eine serverfault.com / dba.stackexchange.com Frage sein
Raptor
Aber wenn ich über einen anderen Server eine Verbindung zur Datenbank herstelle, wollen Sie das sagen, wenn Sie versuchen, dieselbe Datenbank vom Server aus zu verbinden?
Jåcob
Ich meine, ich verbinde mich mit dem Datenbankserver per Client von SQLplus oder SQL Developer auf Sqldeveloper. Fehler "Beim Ausführen des angeforderten Vorgangs ist ein Fehler aufgetreten: Der Netzwerkadapter konnte die Verbindung nicht herstellen. Herstellercode 20"
aliasosx
Sie können also mit sqlplus eine Verbindung zur Datenbank herstellen, jedoch nicht mit SQL Developer?
Jåcob
Sie haben überprüft, ob der Listener im Feld "Server1" aktiv ist, seine Portnummer überprüft und die TNSNames / Verbindungszeichenfolge auf dem anderen Server überprüft, dass sie mit der IP / dem Hostnamen und dem Port übereinstimmt.
DazzaL

Antworten:

86

Sie müssen oracle so einstellen, dass alle IP-Adressen abgehört werden (standardmäßig werden nur lokale Hostverbindungen abgehört.)

Schritt 1 - Bearbeiten listener.ora

Diese Datei befindet sich in:

  • Windows : %ORACLE_HOME%\network\admin\listener.ora.
  • Linux: $ ORACLE_HOME / network / admin / listener.ora

Ersetzen localhost durch 0.0.0.0

# ...

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
      (ADDRESS = (PROTOCOL = TCP)(HOST = 0.0.0.0)(PORT = 1521))
    )
  )

# ...

Schritt 2 - Starten Sie die Oracle-Dienste neu

  • Windows: WinKey+r

    services.msc
    
  • Linux (CentOs):

    sudo systemctl restart oracle-xe
    

Geben Sie hier die Bildbeschreibung ein

Mikael Holmgren
quelle
4
Endlich nach einem Tag der Not funktioniert es!
Akki
2
Vielen Dank! Das hat mein Problem gelöst. Der Listener im DB Server ist auf localhost eingestellt. Geben Sie den Hostnamen für den Computer ein, um mein Problem zu lösen.
Doliharahap
3
Hallo, mein Problem ist, dass ich keinen Orakelservice im Service finden kann. Was soll ich tun? danke u
martinwang1985
3
Mein Admin-Ordner enthält keine lister.ora-Datei, und in meinen Diensten ist "Oracle [irgendetwas]"
Christine nicht aufgeführt
1
Beispiel für Oracle 12c:ORACLE_HOME=$ORACLE_BASE/product/12.2.0/dbhome_1; export ORACLE_HOME
Ivan Chau
11

Ich hatte auch das gleiche Problem, aber ich habe das Problem behoben, indem ich den TNS-Listener in der Systemsteuerung -> Verwaltungstools -> Dienste -> Start des Oracle TNS-Listeners gestartet habe. Ich verwende Windows XP und Toad, um eine Verbindung zu Oracle herzustellen.

Subhashis
quelle
Ich löse mein Problem auf deine Weise. Mein Problem tritt nach dem Update des Betriebssystems auf.
Istiaque Hossain
Wenn die Antworten hier nicht funktionieren , ist diese Frage geschlossen. Hier ist meine Antwort : 1. Verwenden Sie cmd mit admin und führen Sie es aus tnsping YourOracleSID. Wenn ein Fehler auftritt, lesen Sie die Lösung hier, z. B. try LSNRCTL.EXE start: sort.veritas.com/public/documents/ccser/5.2/windowsandunix/…
yu yang Jian
3

Überprüfen Sie Ihre TNS-Namen. Diese dürfen auf der linken Seite des ALIAS keine Leerzeichen enthalten

Freundliche Grüße

Armand
quelle
2

Laut Oracle Online-Dokumentation

ORA-12541: TNS: kein Zuhörer

Cause: The connection request could not be completed because the listener is not running.

Action: Ensure that the supplied destination address matches one of the addresses used by 
the listener - compare the TNSNAMES.ORA entry with the appropriate LISTENER.ORA file (or  
TNSNAV.ORA if the connection is to go by way of an Interchange). Start the listener on 
the remote machine.
Dariyoosh
quelle
31
Dies ist für niemanden hilfreich, der nicht weiß, wie die vorgeschlagene Aktion auszuführen ist.
Christine