SAP Oracle Listener startet nicht
Autor: Tobias Harmes | 7. Juni 2013
Der SAP Oracle Listener, der für die Verbindung zwischen SAP/JAVA Instanz und Datenbank verantwortlich ist, startet nicht mehr. Das verursacht Probleme beim Starten/Herunterfahren mit Hilfe des startsap und stopsap Scripts.
Fehlerquelle
Der Listener ist erforderlich für die Kommunikation zwischen Datenbank und SAP/Java System. Der Listener sollte als Datenbankuser (ora<SID>) gestartet werden können. Ist das Starten des Listeners nicht mehr möglich, fährt das SAP System / Java Instanz nicht mehr hoch. Diese Problemlösung bezieht sich auf das Betriebssystem UNIX/Linux.
Um zu sehen ob der Listener gestartet ist führt man den Befehl lsnrctl status aus. Im konkreten Fall sahen die Fehlermeldungen dabei wie folgt aus:
TNS-12541: TNS:no listener TNS-12560: TNS:protocol adapter error TNS-00511: No listener[…]
TNS-00511: No listener Linux Error: 111: Connection refused
Möchte man den Listener mit dem Befehl lsnrctl start starten, erhält man folgende Fehler:
TNS-12555: TNS:permission denied TNS-12560: TNS:protocol adapter error TNS-00525: Insufficient privilege for operation
[…]
TNS-00525: Insufficient privilege for operation Linux Error: 1: Operation not permitted Listener failed to start. See the error message(s) above…
SAP Basis Berater - gesamte Projekte oder Berater auf Zeit
Sie suchen Unterstützung durch SAP Basis Berater? Wir bieten mehr als nur einen gewöhnlichen Berater auf Zeit. Informieren Sie sich über Ihre Vorteile!
Um den Fehler zu beheben, muss folgendes sichergestellt beziehungsweise durchgeführt werden:
- alle Listener mit dem User, der den Listener auch gestartet hat beenden (lsnrctl stop)
- die Verzeichnisse /tmp/.oracle und /var/tmp/.oracle müssen existieren
- im Verzeichnis /var/tmp/.oracle kann man sehen welcher User den Listener gestartet hatsrwxrwxrwx 1 <SID>adm sapsys 0 Apr 16 07:35 s<SID>.WORLDsrwxrwxrwx 1 <SID>adm sapsys 0 Apr 16 07:35 s<SID>srwxrwxrwx 1 ora<SID> dba 0 Apr 16 07:35 s#3032.2srwxrwxrwx 1 ora<SID> dba 0 Apr 16 07:35 s#3032.1In diesem Fall hat der User <SID>adm den Listener gestartet und auch nur dieser kann den Listener wieder beenden (lsnrctl stop).
- Der Datenbankbenutzer (ora<SID>) hat die Berechtigungen auf die Ordner und alle deren Unterordner
Weiteres Vorgehen
Nachdem sichergestellt ist, dass der Listener unter keinem anderen User läuft, sollten keine Dateien/Ordner unter /var/tmp/.oracle vorhanden sein. Jetzt kann man als ora<SID> User den SAP Listener erfolgreich starten. Zur Kontrolle kann man die Dateien/Ordner im Verzeichnis /var/tmp/.oracle überprüfen, hier sollte als Owner überall der ora<SID> User sein.
ora<sid> > lsnrctl start LSNRCTL for Linux: Version 11.2.0.3.0 – Production on 15-APR-2013 10:50:56 Copyright (c) 1991, 2011, Oracle. All rights reserved. Starting /oracle/<SID>/112_64/bin/tnslsnr: please wait… […]
Service “<SID>” has 1 instance(s). Instance “<SID>”, status UNKNOWN, has 1 handler(s) for this service… The command completed successfully
Welche Lösungsmöglichkeiten haben Sie bei SAP Oracle Listener-Problemen entdeckt? Ich freue mich auf Ihr Feedback.