webentwicklung-frage-antwort-db.com.de

Der Oracle-Listener wird nicht ausgeführt und startet nicht

Ich erhalte während des Befehls lsnrctl status folgende Fehler:

C:\Users\pna105>lsnrctl stat

 LSNRCTL for 64-bit Windows: Version 11.2.0.1.0 - Production on 08-OCT-2014 17:53
 :55

 Copyright (c) 1991, 2010, Oracle.  All rights reserved.

 Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
 TNS-12541: TNS:no listener
 TNS-12560: TNS:protocol adapter error
  TNS-00511: No listener
   64-bit Windows Error: 2: No such file or directory
 Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(Host=localhost)(PORT=1521)))
 TNS-12541: TNS:no listener
 TNS-12560: TNS:protocol adapter error
 TNS-00511: No listener
 64-bit Windows Error: 61: Unknown error

Vor dem Neustart funktionierte es einwandfrei, aber jetzt funktioniert es nicht und ich kann auch nicht auf meine Oracle-Startseite zugreifen.

Mein tnsnames.ora lautet:

  Oracle = 
  (DESCRIPTION =  
    (ADDRESS_LIST =  
      (ADDRESS = (PROTOCOL = TCP)(Host = Localhost)(PORT = 1521))  
    )  
    (CONNECT_DATA =  
      (SERVICE_NAME = Oracle)  
    )  
   )

   LISTENER_Oracle =
  (ADDRESS = (PROTOCOL = TCP)(Host = localhost)(PORT = 1521))


  ORACLR_CONNECTION_DATA =
  (DESCRIPTION =
  (ADDRESS_LIST =
  (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
  )
   (CONNECT_DATA =
   (SID = CLRExtProc)
   (PRESENTATION = RO)
  )
  )

Mein listener.ora ist: (Hier wurden Fehler aufgrund fehlgefügter Klammern durch Hinzufügen einiger Leerzeichen behoben. TNS-12518)

   SID_LIST_LISTENER =
   (SID_LIST =
   (SID_DESC =
    (SID_NAME = Oracle)
    (Oracle_HOME = C:\app\PNA105\product\11.2.0\dbhome_1)
  )  
  (SID_DESC =
    (SID_NAME = PLSExtProc)
    (Oracle_HOME = C:\app\PNA105\product\11.2.0\dbhome_1)
    (PROGRAM = extproc)
   )
   (SID_DESC =
  (SID_NAME = CLRExtProc)
  (Oracle_HOME = C:\app\PNA105\product\11.2.0\dbhome_1)
  (PROGRAM = extproc)
  (ENVS = "EXTPROC_DLLS=ONLY:C:\app\PNA105\product\11.2.0\dbhome_1\bin\oraclr11.dll")
  )
  )

  LISTENER =
 (DESCRIPTION_LIST =
  (DESCRIPTION =
  (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
  (ADDRESS = (PROTOCOL = TCP)(Host = localhost)(PORT = 1521))
  )
  )

  ADR_BASE_LISTENER = C:\app\PNA105

Es folgt die Ausgabe des Befehls lsnrctl start

C:\Users\pna105>lsnrctl start

LSNRCTL for 64-bit Windows: Version 11.2.0.1.0 - Production on 08-OCT-2014 18:26
:22

 Copyright (c) 1991, 2010, Oracle.  All rights reserved.

 Starting tnslsnr: please wait...

  TNS-12560: TNS:protocol adapter error
   TNS-00530: Protocol adapter error

Nachfolgend ist der letzte Eintrag aus der Protokolldatei erforderlich.

 Started with pid=14784
 Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1521ipc)))
 Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(Host=127.0.0.1)(PORT=1521)))
 Listener completed notification to CRS on start

 09-OCT-2014 15:46:01 * (CONNECT_DATA=(CID=(PROGRAM=)(Host=__jdbc__)(USER=INL007306$))
(SERVICE_NAME=Oracle)) * (ADDRESS=(PROTOCOL=tcp)(Host=127.0.0.1)(PORT=57389)) * 
establish * Oracle * 12518
TNS-12518: TNS:listener could not hand off client connection
TNS-12560: TNS:protocol adapter error
 TNS-00530: Protocol adapter error
 64-bit Windows Error: 203: Unknown error
 Dynamic address is already listened on (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp) 
 (Host=127.0.0.1)(PORT=1521)))
 09-OCT-2014 15:46:06 * service_register * Oracle * 0
 Thu Oct 09 15:46:11 2014
 09-OCT-2014 15:46:11 * service_update * Oracle * 0
 09-OCT-2014 15:46:12 * (CONNECT_DATA=(CID=(PROGRAM=)(Host=__jdbc__)(USER=INL007306$))
 (SERVICE_NAME=Oracle)) * (ADDRESS=(PROTOCOL=tcp)(Host=127.0.0.1)(PORT=57393)) * 
  establish * Oracle * 0
 09-OCT-2014 15:46:12 * service_update * Oracle * 0
 09-OCT-2014 15:46:13 * (CONNECT_DATA=(CID=(PROGRAM=)(Host=__jdbc__)(USER=INL007306$))
 (SERVICE_NAME=Oracle)) * (ADDRESS=(PROTOCOL=tcp)(Host=127.0.0.1)(PORT=57394)) * 
 establish * Oracle * 0

Es wurde versucht, TNS-12518 zu beheben, und der Listener wurde gestartet, konnte jedoch nicht auf die Oracle-Homepage von Oracle zugreifen

ausgabe von lnsrctl stat

C:\Users\pna105>lsnrctl stat

LSNRCTL for 64-bit Windows: Version 11.2.0.1.0 - Production on 09-OCT-2014 17:16
:56

 Copyright (c) 1991, 2010, Oracle.  All rights reserved.

 Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
 STATUS of the LISTENER
  ------------------------
 Alias                     LISTENER
 Version                   TNSLSNR for 64-bit Windows: Version 11.2.0.1.0 - Produ
 ction
 Start Date                09-OCT-2014 15:45:58
 Uptime                    0 days 1 hr. 30 min. 58 sec
 Trace Level               off
 Security                  ON: Local OS Authentication
 SNMP                      OFF
 Listener Parameter File   C:\app\PNA105\product\11.2.0\dbhome_1\network\admin\li
 stener.ora
 Listener Log File         c:\app\pna105\diag\tnslsnr\INL007306\listener\alert\lo
 g.xml
 Listening Endpoints Summary...
 (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1521ipc)))
 (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(Host=127.0.0.1)(PORT=1521)))
  Services Summary...
  Service "CLRExtProc" has 1 instance(s).
  Instance "CLRExtProc", status UNKNOWN, has 1 handler(s) for this service...
  Service "Oracle" has 2 instance(s).
  Instance "Oracle", status UNKNOWN, has 1 handler(s) for this service...
  Instance "Oracle", status READY, has 1 handler(s) for this service...
  Service "PLSExtProc" has 1 instance(s).
  Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...
  Service "oracleXDB" has 1 instance(s).
  Instance "Oracle", status READY, has 1 handler(s) for this service...

Der Befehl wurde erfolgreich ausgeführt

13
Pranav Nath

Ich hatte das gleiche Problem . Lösung in meinem Fall: Führen Sie CMD als ADMINISTRATOR . Aus und geben Sie Folgendes ein: "lsnrctl start". (In meinem Fall waren es nur 50 Sekunden, aber nur um auf der sicheren Seite zu sein)

18
Imre

1.Überprüfen Sie die Umgebungsvariablen (muss für System und nicht für Benutzer festgelegt werden):

Oracle_HOME = C:\oraclexe\app\Oracle\product\11.2.0\server
Oracle_SID = XE

2.Überprüfen Sie, ob Sie in listener.ora die richtige Definition haben

XE =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
      (ADDRESS = (PROTOCOL = TCP)(Host = localhost)(PORT = 1521))
    )
  )

DEFAULT_SERVICE_LISTENER = (XE)

3.Starten Sie den Dienst neu (Dienste> OracleServiceXE).

Danach wird möglicherweise ein neuer Dienst namens OracleXETNSListenerXE angezeigt.
Es gibt bereits einen alten OracleXETNSListener.

Ich habe beides gestartet und konnte dann eine erfolgreiche Verbindung herstellen.

Bearbeiten:

Wenn alles läuft, Sie aber immer noch keine Verbindung herstellen können, prüfen Sie, ob kein Fehler vorliegt: ORA-12557: TNS: Protokolladapter nicht ladbar .

Um den Fehler zu korrigieren, gehen Sie zurück zu den Umgebungsvariablen und bearbeiten Sie diesmal die folgende Variable: Path. Stellen Sie sicher, dass C:\oraclexe\app\Oracle\product\11.2.0\server\bin irgendwo am Anfang steht, definitiv vor einem anderen Pfad, der auf eine andere Version der Oracle-Datenbank verweist.

5
Piotr Kepka

Ich habe das Problem gelöst, indem ich die Datei listener.ora im Oracle-Verzeichnis oraclexe\app\Oracle\product\11.2.0\server\network\ADMIN aktualisiert habe.

Warum ist es mir passiert, weil ich meinen Systemnamen geändert habe, aber in listener.ora war ein alter Name für Host.

Dies könnte einer der Gründe sein ... für diejenigen, die immer noch mit einem solchen Problem konfrontiert sind, könnte auch diese Möglichkeit in Betracht gezogen werden.

4
Muneeb Mirza

Ich hatte das gleiche Problem am 11.201 unter Windows. Nach: zusätzliche Installation des 11.203 64-Bit-Servers und -Clients in neuen Ordnern. Die Umgebungsvariable PATH wurde direkt nach der Installation geändert. Nach dem Neustart des Listener-Dienstes wurde ein Fehler im Listener angezeigt. In meinem Fall gab es eine Nachtzeit und eine Anzahl von Windows-Aktualisierungen, so dass der Windows-Server-Neustart uns geholfen hat ..__ Auch die listener.log-Datei wurde gemäß http://pavandba.com/tag/tns-12560-tns gereinigt -protocol-adapter-error/ , es war überraschend groß.

3
Tsionel Oksana

Stellen Sie sicher, dass die Umgebungsvariable Oracle_HOME auf die richtige Oracle-Startseite verweist. In meinem Fall wurde sie durch eine andere Softwareinstallation geändert.

3
MrLymy

Dasselbe ist mir passiert, nachdem ich den Computernamen geändert habe. Um dies zu beheben, suchen Sie einfach die Datei listener.ora und ersetzen Sie den alten Computernamen durch den neuen

2
Mike Alex

In meinem Fall habe ich versucht, den Listener über die Konsole zu starten:

> lsnrctl star

Dieser Befehl druckte den folgenden Fehler:

TNS-12560: TNS:protocol adapter error
TNS-00583: Valid node checking: unable to parse configuration parameters

Also habe ich die folgenden Aktionen ausgeführt:

  1. Prüfen Sie, ob die Oracle-Datei listener.ora oder sqlnet.ora Sonderzeichen enthält
  2. Prüfen Sie, ob die Oracle-Datei listener.ora oder sqlnet.ora` ein falsches Format oder eine falsche Syntax hat
  3. Prüfen Sie, ob die Oracle-Datei listener.ora oder sqlnet.ora eine nach links gerichtete Klammer enthält, die vom Oracle-Parser nicht akzeptiert wird.

Schauen Sie sich diese Dateien an und überprüfen Sie die korrekte Syntax. Entfernen Sie, falls möglich, sqlnet.ora und versuchen Sie, den Listener erneut zu starten. Oder entfernen/benennen Sie die beiden Dateien listener.ora oder sqlnet.ora um und erstellen Sie sie ordnungsgemäß neu. Diese lösen das Problem auf jeden Fall.

1
manix

Ich bin auf das gleiche Problem und den gleichen Grund gestoßen: Mein Computer ist ein persönlicher Windows-PC. Und ich habe den Computernamen geändert und das gleiche spiegelt sich nicht in listener.ora wider. Das Aktualisieren von Oracle_HOME\network\ADMIN\listener.ora mit einem aktualisierten Hostnamen hat das Problem behoben.

Bei der Installation von Oracle 11gR2 unter Windows 2012 Server tritt ein ähnliches Problem auf. Das Problem ist gelöst, wenn ich cmd.exe als Admistrator-Privileg und "lsnrctl start LISTENER" ausführen.

1
Jaewon Lee

In meinem Fall wurde der Listener-Dienst nicht gestartet, da er so eingestellt war, dass er eine VPN-Verbindung abhört und auch andere Schnittstellen.

Nachdem ich mich mit dem VPN verbunden hatte, fing es gerade an.

@ Imre's Trick mit "lsnrctl start" brachte mich jedoch auf die richtige Spur.

0
Adi

Problem

Der Listener-Dienst wird in services.msc Gestoppt.

Ursache

Benutzerkennwort wurde geändert.

Lösung

  • Öffnen Sie services.msc.
  • Klicken Sie mit der rechten Maustaste auf den bestimmten Listener-Dienst.
  • Klicken Sie auf Eigenschaften.
  • Klicken Sie auf die Registerkarte Anmelden.
  • Änder das Passwort.
  • OK klicken.
  • Starten Sie den Dienst.
0
rsb2097

In meinem Fall funktionierte der Windows-Listener-Dienst irgendwie nicht, sodass ich über sqldeveloper keine Verbindung zu Oracle herstellen konnte. Allerdings konnte ich über sqlplus eine Verbindung herstellen.

Die folgende Lösung hat für mich funktioniert:

Stellen Sie zunächst sicher, dass Ihr Listener-Dienst ausgeführt wird. 

C:\Dokumente und Einstellungen\ME> lsnrctl status 

Wenn der Listener-Dienst nicht ausgeführt wird, starten Sie den Listener-Dienst erneut mit dem Windows-Task-Manager oder verwenden Sie das DOS-Befehlszeilenprogramm, um den Windows-Dienst mit dem Befehl "net start" neu zu starten:

C:\Dokumente und Einstellungen\ME> net start OracleOraDb10g_home1TNSListener 

Versuchen Sie, den Listener-Dienst mit lsnrctl von der DOS-Eingabeaufforderung zu starten. 

lsnrctl starten

0
Garima Kushwaha

Es ist mir gelungen, das Problem zu beheben, durch das die Konfiguration in einem Docker-Container mit der Hortonworks HDP 2.6-Sandbox fehlgeschlagen ist.

Wenn die anfängliche Konfiguration fehlschlägt, wird der Listener ausgeführt und muss zuerst beendet werden:

ps -aux | grep tnslsnr
kill {process id identified above}

Der nächste Schritt besteht darin, das Problem mit dem gemeinsamen Speicher zu beheben, wodurch der Konfigurationsprozess fehlschlägt.

Oracle XE erfordert 1 GB gemeinsam genutzten Speicher und schlägt ansonsten fehl (ich habe 512 MB nicht versucht), gemäß https://blogs.Oracle.com/oraclewebcentersuite/implement-Oracle-database-xe-as-docker-containers) .

vi /etc/fstab

die Zeile ändern/hinzufügen:

tmpfs    /dev/shm     tmpfs   defaults,size=1024m 0 0

Laden Sie dann die Konfiguration erneut durch:

mount -a

Beachten Sie, dass Sie beim nächsten Neustart des Docker-Containers möglicherweise 'mount -a' ausführen müssen.

0
limboy