Oracle errors

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

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

The connection reached the listener, but the listener has no database service with the name you asked for. Check the service name, check that the database or PDB is open, and check that it is registered with this listener.

What it means

Unlike ORA-12154, the network part worked: host and port answered. The listener then looked up the requested SERVICE_NAME and found nothing registered under it. Databases register their services with the listener dynamically, so this can also appear for a short time after a database or listener restart.

Common causes

How to fix it

  1. On the database server, run lsnrctl services (or lsnrctl status) and compare the service names.
  2. Check that the PDB is open: SELECT name, open_mode FROM v$pdbs.
  3. Force registration: ALTER SYSTEM REGISTER.
  4. Check LOCAL_LISTENER points to this listener’s host and port.
  5. If you only know the SID, use a SID connection instead of a service name.

Example

DBA: is the service there and the PDB open?

SELECT name, open_mode FROM v$pdbs;
SELECT name FROM v$services;
ALTER SYSTEM REGISTER;

In SQLlightspeed

When a statement fails, SQLlightspeed’s error panel shows the error code with a plain-language explanation and a suggestion for what to do next, together with Oracle’s own message and a link to Oracle’s documentation — for this error and dozens of other common ones.

Related errors

ORA-12154ORA-01017ORA-01031 All Oracle errors →

Oracle documentation for ORA-12514. Oracle is a registered trademark of Oracle Corporation. SQLlightspeed is not affiliated with Oracle.