Connect to a PDB using SID

To connect to a PDB, you have to use the service name of the pluggable database. But what when there is an older legacy application that can only use an SID to connect to a database? And what if we just migrated an older legacy database to a PDB? When starting the application, you might see something like:

ORA-12505: TNS:listener does not currently know of SID given in connect descriptor

There is a parameter called USE_SID_AS_SERVICE_listener that can be used to tell the listener to handle SIDs like service names. So the listener will interpret the SID given in the connection as a service name and will then connect you to the database.

To implement this change, add the following line to your listener.ora configuration (where “listener” is the name of your listener) and restart the TNS listener:

USE_SID_AS_SERVICE_listener=on

If you want to implement this on your database, please also refer to My Oracle Support note 1644355.1, as it contains further information on how to implement this change.