ORA-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>