Oracle Database Error Solutions & DBA Knowledge Base

Welcome to Oracle Database Error Solutions, a professional technical knowledge base dedicated to helping Oracle Database Administrators, Oracle E-Business Suite administrators, developers, and IT professionals troubleshoot Oracle Database and Oracle Linux issues with confidence.

This website provides practical, real-world troubleshooting guides based on hands-on Oracle administration experience. You'll find detailed solutions for Oracle Database errors, RMAN backup and recovery, Data Guard, ASM, RAC, Oracle Linux administration, Oracle E-Business Suite (EBS), cloning, performance tuning, patching, installation, and day-to-day DBA tasks.

Whether you're resolving ORA-27101, ORA-28040, ORA-01555, ORA-12154, ORA-01017, or other Oracle errors, our step-by-step articles are designed to save you time and help you solve problems efficiently.

ORA-12514: TNS Listener Does Not Currently Know of Service Requested in Connect Descriptor – Complete Oracle DBA Guide

ORA-12514: TNS Listener Does Not Currently Know of Service Requested in Connect Descriptor – Complete Oracle DBA Guide

Published: May 2026

Last Updated: July 2026

Reading Time: 15 Minutes

Applies To: Oracle Database 11g, 12c, 18c, 19c, 21c, 23ai, Oracle RAC, Oracle Data Guard, Oracle Net Services, Oracle Cloud Infrastructure (OCI)


The ORA-12514: TNS listener does not currently know of service requested in connect descriptor error is one of the most common Oracle Net Services errors encountered by Oracle Database Administrators, developers, and application administrators.

This error occurs when a client successfully reaches the Oracle Listener, but the listener cannot find the requested database service. Unlike network connectivity issues where the listener is unavailable, ORA-12514 indicates that communication with the listener has been established; however, the specified SERVICE_NAME has not been registered or recognized.

ORA-12514 commonly appears after database startup, during Oracle Data Guard role transitions, after creating a new Pluggable Database (PDB), when configuring Oracle RAC services, or due to incorrect connection strings in SQL*Plus, SQL Developer, JDBC applications, or enterprise applications.

In this comprehensive guide, you'll learn how Oracle Listener registration works, why ORA-12514 occurs, and how to diagnose and resolve the issue using Oracle-recommended troubleshooting techniques and real-world DBA practices.

Quick Solution

ORA-12514 usually indicates that the requested database service has not been registered with the Oracle Listener.

In most situations, follow these steps:

  • Verify the SERVICE_NAME in the client connection string.
  • Check the listener status using lsnrctl status.
  • Verify registered services using lsnrctl services.
  • Ensure the database instance is OPEN.
  • Force dynamic registration if necessary.
  • Confirm LOCAL_LISTENER configuration.
  • Restart the listener only if required.

In many environments, simply starting the database or forcing service registration resolves the issue without modifying listener configuration files.


Table of Contents

  1. What is ORA-12514?
  2. Error Message
  3. How Oracle Listener Works
  4. Dynamic vs Static Service Registration
  5. SERVICE_NAME vs SID
  6. Common Symptoms
  7. Common Causes
  8. Step-by-Step Troubleshooting
  9. Production Case Study
  10. Best Practices
  11. Frequently Asked Questions

Error Message

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

Depending on the Oracle client, additional details may accompany the error, including the service name requested by the client.


What Does ORA-12514 Mean?

Oracle Net establishes communication between client applications and the Oracle Database through the Oracle Listener. When a client connects, the listener examines the requested SERVICE_NAME contained in the connect descriptor.

If the requested service is registered with the listener, the connection is handed off to the appropriate database instance. If the listener cannot locate the requested service, Oracle raises ORA-12514.

In simple terms, the listener is running, but it does not recognize the service that the client is requesting.

DBA Insight

One of the biggest misconceptions is that ORA-12514 means the listener is down. In reality, the listener is usually running correctly. The problem is typically an incorrect SERVICE_NAME or a missing service registration.


How Oracle Listener Works

The Oracle Listener is a server-side process that accepts incoming client connection requests and routes them to the appropriate database service.

A typical connection workflow is:

Client Application

      │

      ▼

Oracle Net

      │

      ▼

Oracle Listener

      │

      ▼

Registered Database Service

      │

      ▼

Database Instance

If the requested service is not registered, the connection stops at the listener and ORA-12514 is returned.


Dynamic vs Static Service Registration

Oracle supports two methods for registering database services with the listener.

Dynamic Registration

Dynamic registration is the recommended approach. The database automatically registers its services with the listener using the PMON (or equivalent background registration mechanism in newer releases). This requires correct listener configuration and appropriate initialization parameters such as LOCAL_LISTENER.

Static Registration

Static registration is configured manually in the listener.ora file. It is commonly used for special scenarios such as external procedures, some Data Guard configurations, or when dynamic registration is not suitable.

Recommendation

Whenever possible, rely on dynamic service registration. It simplifies administration and automatically updates the listener when database services start or stop.


SERVICE_NAME vs SID

Although they are often confused, SERVICE_NAME and SID represent different concepts.

Parameter Description
SERVICE_NAME Logical database service used by clients for connections.
SID Specific Oracle database instance identifier.

Modern Oracle client connections should generally use SERVICE_NAME rather than SID, especially in RAC, Data Guard, and Multitenant environments.


Common Symptoms

  • Applications fail to connect while the listener is running.
  • SQL*Plus returns ORA-12514 immediately after login.
  • SQL Developer reports that the requested service is unknown.
  • JDBC applications cannot establish database sessions.
  • Oracle Enterprise applications fail after database startup.
  • Connections fail immediately after creating a new PDB.
  • Data Guard clients cannot connect following a role transition.
  • Oracle RAC services are unavailable on one or more nodes.

Common Causes

  • Incorrect SERVICE_NAME in the client connection string.
  • Database instance is not OPEN.
  • Service has not yet registered with the listener.
  • Incorrect LOCAL_LISTENER parameter.
  • Listener started before the database and dynamic registration has not completed.
  • Incorrect listener.ora configuration.
  • Incorrect tnsnames.ora configuration.
  • PDB service is not open.
  • Oracle RAC service configuration issues.
  • Oracle Data Guard role transition not fully completed.

Why ORA-12514 Happens

When a client requests a connection, the listener checks its list of registered services. If the requested service is absent, the listener cannot route the connection to a database instance and returns ORA-12514.

In many production environments, this occurs immediately after a database startup because dynamic service registration has not yet completed. In other cases, the client simply references an incorrect service name or attempts to connect to a service that no longer exists.

Production Recommendation

Always verify the service name using lsnrctl services before modifying listener configuration files. Most ORA-12514 incidents are resolved by correcting the client connection string or allowing the database to register its services dynamically.


Next: Part 2 covers complete troubleshooting procedures, including lsnrctl status, lsnrctl services, verifying LOCAL_LISTENER, checking listener.ora and tnsnames.ora, SQL Developer and JDBC troubleshooting, Oracle RAC and Data Guard considerations, and a real-world production case study.


Step-by-Step Troubleshooting

Once ORA-12514 occurs, the objective is to determine why the requested service is unavailable to the Oracle Listener. The following steps represent the troubleshooting process commonly used by Oracle DBAs in production environments.


Solution 1 – Verify the Listener Status

The first step is to confirm that the Oracle Listener is running.

lsnrctl status

A healthy listener should display:

  • Listener Name
  • Listening Endpoints
  • Registered Services
  • Instance Status

If the listener is not running, start it using:

lsnrctl start
DBA Tip

ORA-12514 usually means the listener is running. If the listener were unavailable, Oracle would typically return ORA-12541 (TNS: No Listener).


Solution 2 – Check Registered Services

Display every service currently registered with the listener.

lsnrctl services

Typical output:

Service "orcl" has 1 instance(s).
Instance "orcl", status READY.

If the requested service is missing, the listener cannot establish the connection.


Solution 3 – Verify the Database is Open

Connect locally as SYSDBA.

sqlplus / as sysdba

Check the database status.

SELECT status
FROM v$instance;

SELECT open_mode
FROM v$database;

The database should normally be in OPEN mode.


Solution 4 – Verify SERVICE_NAMES

Display the database service names.

SHOW PARAMETER service_names;

or

SELECT value
FROM v$parameter
WHERE name='service_names';

Ensure that the SERVICE_NAME used by the client exactly matches one of the registered database services.


Solution 5 – Force Dynamic Registration

Sometimes the listener starts before the database, delaying automatic service registration.

Force immediate registration using:

ALTER SYSTEM REGISTER;

After executing the command, verify registration again.

lsnrctl services

Many ORA-12514 incidents are resolved with this single command.


Solution 6 – Verify LOCAL_LISTENER

Dynamic registration depends on the LOCAL_LISTENER initialization parameter.

Check its value.

SHOW PARAMETER local_listener;

If necessary, configure it correctly.

ALTER SYSTEM SET LOCAL_LISTENER=
'(ADDRESS=(PROTOCOL=TCP)
(HOST=dbserver)
(PORT=1521))'
SCOPE=BOTH;

Run:

ALTER SYSTEM REGISTER;

Solution 7 – Verify listener.ora

Review the Listener configuration file.

Typical location:

$ORACLE_HOME/network/admin/listener.ora

Example:

LISTENER=

(DESCRIPTION_LIST=

(DESCRIPTION=

(ADDRESS=(PROTOCOL=TCP)

(HOST=dbserver)

(PORT=1521))

))

Ensure that the hostname and listener port are correct.


Solution 8 – Verify tnsnames.ora

Incorrect client connection descriptors are one of the most common causes of ORA-12514.

Example configuration:

ORCL=

(DESCRIPTION=

(ADDRESS=(PROTOCOL=TCP)

(HOST=dbserver)

(PORT=1521))

(CONNECT_DATA=

(SERVICE_NAME=orcl)

))

Verify that:

  • Hostname is correct.
  • Port is correct.
  • SERVICE_NAME matches the database.

Solution 9 – SQL Developer Connection

For Oracle SQL Developer:

  • Choose Service Name instead of SID (when appropriate).
  • Verify Host.
  • Verify Port.
  • Verify Service Name.
  • Test the connection before saving.

Solution 10 – JDBC Applications

Verify the JDBC URL.

Correct example:

jdbc:oracle:thin:@//dbserver:1521/orcl

Many Java applications fail because the service name is misspelled or references an old database service.


Solution 11 – Oracle RAC Considerations

In Oracle RAC environments, services may run on specific nodes.

Check cluster services.

srvctl status service

Also verify:

  • SCAN Listener
  • VIP configuration
  • Preferred instances
  • Available instances

Solution 12 – Oracle Data Guard Considerations

ORA-12514 frequently appears immediately after a switchover or failover because the listener has not yet registered the new primary database service.

Recommended actions:

  • Verify the database role.
  • Verify service registration.
  • Execute ALTER SYSTEM REGISTER;
  • Restart application services if necessary.

Real Production Case Study

An Oracle 19c production database was restarted during scheduled maintenance.

After startup, application users immediately received:

ORA-12514:
listener does not currently know
of service requested

The listener was running normally.

Investigation showed that the database service had not yet completed dynamic registration.

The DBA executed:

ALTER SYSTEM REGISTER;

Within a few seconds the service appeared in:

lsnrctl services

Application connectivity was immediately restored without restarting either the database or the listener.


Troubleshooting Checklist

Verification Status
Listener Running
Database OPEN
Service Registered
LOCAL_LISTENER Verified
listener.ora Checked
tnsnames.ora Checked
Client SERVICE_NAME Verified
ALTER SYSTEM REGISTER Executed
Connection Successfully Tested


Oracle Version Considerations

Although ORA-12514 exists across multiple Oracle Database releases, service registration and listener behavior have evolved over time. Understanding these differences helps DBAs troubleshoot connection problems more efficiently.

Oracle Version Listener Behavior
Oracle 11g Dynamic service registration through PMON is commonly used.
Oracle 12c Supports Multitenant architecture where each PDB can register its own services.
Oracle 19c Long Term Support (LTS) release with enhanced service management and RAC integration.
Oracle 21c / 23ai Improved cloud integration, service management, and diagnostics.

Oracle Multitenant (CDB/PDB) Considerations

In Oracle Multitenant databases, services may belong to the Container Database (CDB) or an individual Pluggable Database (PDB). If the required PDB is closed, its service may not be registered with the listener, resulting in ORA-12514.

Verify the current container:

SHOW CON_NAME;

Display all PDBs:

SHOW PDBS;

If necessary, open the required PDB:

ALTER PLUGGABLE DATABASE pdb_name OPEN;
DBA Tip

One of the most common causes of ORA-12514 in Oracle 12c and later is that the target PDB is not open, preventing its service from registering with the listener.


Common Mistakes

  • Using an incorrect SERVICE_NAME in the client connection string.
  • Confusing SID with SERVICE_NAME.
  • Restarting the listener before verifying registered services.
  • Ignoring the output of lsnrctl services.
  • Forgetting to execute ALTER SYSTEM REGISTER; after changing listener parameters.
  • Incorrect LOCAL_LISTENER configuration.
  • Connecting to a closed Pluggable Database (PDB).
  • Editing listener.ora when dynamic registration would solve the issue.
  • Not updating application connection strings after database migration.

Oracle DBA Best Practices

  • Use SERVICE_NAME instead of SID for new client connections.
  • Monitor listener registration after every database startup.
  • Verify services using lsnrctl services.
  • Use dynamic registration whenever possible.
  • Validate application connection strings before production deployment.
  • Keep listener configuration as simple as possible.
  • Document all custom listener settings.
  • Monitor Oracle Net logs for recurring connection issues.
  • Test application connectivity after maintenance or patching.

Frequently Asked Questions (FAQ)

What causes ORA-12514?

ORA-12514 occurs when the Oracle Listener is running but does not recognize the requested database service. This is commonly caused by an incorrect SERVICE_NAME, delayed dynamic registration, or a database service that is unavailable.

How do I check which services are registered?

lsnrctl services

This command displays every service currently registered with the listener.

Can ALTER SYSTEM REGISTER fix ORA-12514?

Yes. If the database is open and dynamic registration has not yet occurred, executing ALTER SYSTEM REGISTER; often resolves the problem immediately.

What is the difference between ORA-12514 and ORA-12541?

ORA-12514 indicates that the listener is running but cannot find the requested service. ORA-12541 indicates that the client cannot communicate with a listener because it is unavailable or unreachable.

Why does ORA-12514 occur after database startup?

Immediately after startup, the listener may not yet have received dynamic service registration from the database. Waiting briefly or executing ALTER SYSTEM REGISTER; typically resolves the issue.


Related Oracle Articles


About the Author

Rana Abdul Wahid is a seasoned Oracle Database Consultant with over 15 years of experience in Oracle Database Administration, Oracle E-Business Suite Application DBA, Oracle Cloud Infrastructure (OCI), Oracle RAC, Oracle Data Guard, RMAN Backup & Recovery, Performance Tuning, Linux/Unix Administration, MySQL, Microsoft SQL Server, PostgreSQL, and enterprise database management.

Through this blog, he shares practical Oracle DBA troubleshooting guides, production-tested solutions, Oracle networking best practices, backup and recovery techniques, and performance tuning knowledge to help database professionals solve complex Oracle issues efficiently.

Learn more about the author →


Conclusion

The ORA-12514: TNS listener does not currently know of service requested in connect descriptor error occurs when the Oracle Listener cannot locate the requested database service. In most cases, the issue is caused by an incorrect SERVICE_NAME, delayed dynamic registration, or a service that is unavailable.

By verifying listener status, checking registered services, confirming client connection settings, and using ALTER SYSTEM REGISTER; where appropriate, Oracle DBAs can resolve the issue quickly without unnecessary listener or database restarts.

Final DBA Advice

Before editing listener.ora or restarting Oracle services, always run lsnrctl services. It provides the fastest way to confirm whether the requested service is registered and often points directly to the root cause of ORA-12514.

Did this guide help you resolve ORA-12514? Bookmark this article and explore our Oracle Error Codes Guide for more production-tested Oracle DBA troubleshooting guides and best practices.

Comments