Database Error Messages

Release
toggle
  • 23ai
  • 21c
  • 19c
Updated
Jun 24, 2024

TNS-12514

Cannot connect to database. Service service_name is not registered with the listener at host_port. (CONNECTION_ID=connection_id)
  • service_name: The name of the database service.
  • host_port: The host and port that the Oracle Database listener process is on.
  • connection_id: The connection ID.

Cause

A listener process initially handles all connections to Oracle Database. The connection request received by the listener specified a service name (usually for a database service) that either has not been dynamically registered with the listener or that has not been statically configured in the listener's listener.ora configuration file. This error may be a temporary condition that occurs after the listener has started but before the database instance registers with the listener.


Action

Do the following:

  • Check for mistakes in the specified connection string.
  • Check that the database or pluggable database (PDB) is running. If you are using a cloud service, ensure that the database service is running.
  • Ensure that the SERVICE_NAME parameter in the connection string or the tnsnames.ora file connect descriptor specifies a service known by the listener.
  • If using an Easy Connect connection string, then check that the service name specified is known by the listener.
  • Wait a moment and try to connect again. The database instance registration may not be complete.
  • Use the CONNECTION_ID value to track this connection attempt in trace files for further diagnosis.

To find which services are currently known by the listener:

  • Ask your database administrator.
  • Review the connection string shown in the cloud service console.
  • If you have access to the machine where the listener is running, you can execute one of the following:
  • lsnrctl services
  • When a listener is named in listener.ora file, run: lsnrctl services <listener_name>
  • If an Oracle Connection Manager (Oracle CMAN) proxy listener is named in the cman.ora file, run: cmctl show services -c <cman_name>
  • If an Oracle Global Service Manager (Oracle GSM) listener is named in the gsm.ora file, run: gdsctl services -raw -gsm <gsm_name>