ORA-12514 – TNS:listener does not currently know of service requested in connect descriptor

1.) TEXTE AUS OERR UNTER LINUX

12514, 00000, „TNS:listener does not currently know of service requested in connect descriptor“

// *Cause: The listener received a request to establish a connection to a

// database or other service. The connect descriptor received by the listener

// specified a service name for a service (usually a database service)

// that either has not yet dynamically registered with the listener or has

// not been statically configured for the listener. This may be a temporary

// condition such as after the listener has started, but before the database

// instance has registered with the listener.

// *Action:

// – Wait a moment and try to connect a second time.

// – Check which services are currently known by the listener by executing:

//   lsnrctl services <listener name>

// – Check that the SERVICE_NAME parameter in the connect descriptor of the

//   net service name used specifies a service known by the listener.

// – If an easy connect naming connect identifier was used, check that

//   the service name specified is a service known by the listener.

// – Check for an event in the listener.log file.

2.) ERKLÄRUNG

Diese Meldung wird ausgegeben, wenn der Listener die Anforderung erhält, eine Verbindung zu einer Datenbank (oder einem anderen Service) herzustellen, welche beim Listener weder dynamisch registriert noch statisch konfiguriert ist. Diese Situation kann temporär auftreten, wenn der Listener gestartet ist, sich die Datenbank-Instanz aber noch nicht beim Listener registriert hat.

3.) LÖSUNGSVORSCHLÄGE

1.  Services für Listener prüfen

lsnrctl services <listener>

2. Prüfung Inhalt der Datei listener.log auf dem Datenbank-Server

3. Prüfung Inhalt der Datei tnsnames.ora auf Client (oder Datenbank-Server)

4. Warten bis Datenbank-Instanz komplett gestartet ist.

5. Einen zusätzlichen Eintrag für diesen Service in die Datei tnsnames.ora auf dem Client zusätzlich einfügen.

6. Parameter setzen für local_listener:

SQL> alter system set LOCAL_LISTENER='(ADDRESS=(PROTOCOL=TCP)(HOST=<hostname>)(PORT=<port_nr>))‘ scope=both;

SQL> alter system register;