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
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)
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.
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.
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ß.
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.
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
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:
listener.ora
oder sqlnet.ora
Sonderzeichen enthältlistener.ora
oder sqlnet.ora` ein falsches Format oder eine falsche Syntax hatlistener.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.
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.
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.
Der Listener-Dienst wird in services.msc
Gestoppt.
Benutzerkennwort wurde geändert.
services.msc
.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
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.