DB Connect: How to fix Oracle SID setup error "ORA-12514, TNS: listener does not currently know of service requested in connect descriptor"?


I am getting the following problems while adding a new Oracle connection with SID:

Encountered the following error while trying to save: In handler 'databases': Error connecting to database: java.sql.SQLException: Listener refused the connection with the following error: ORA-12514, TNS:listener does not currently know of service requested in connect descriptor

However, I don't have any problems if an Oracle database with service_name defined. I followed this post:

and I added a stanza at the beginning of database.conf as the following:

database.sid = true

After restart, I still get the same problem. Does anyone have any clues how to fix this?



Either the database is not configured to register its SID with the listener, or you are not using the actual SID in your connect string. Do you have access to the database server itself, or the assistance of an Oracle DBA, to confirm what the listener will accept? How you would configure the database and listener will depend on which version of Oracle and what sort of architecture (stand-alone, stand-alone with grid infrastructure, or RAC) that you are using.

In general you are better off using a service name if that is an option; it is Oracle's preferred method for identifying databases over the network. SID, while it still works in most cases, was actually deprecated as a network identifier something like 15 years ago with Oracle 9.

0 Karma