Receive "ORA-12505 - TNS: listener does not currently know of SID given in connect descriptor." error in my logs

Solution Verified - Updated -

Environment

  • Red Hat JBoss Operations Network (ON)
    • 2.3
    • 2.4
    • 3.0
    • 3.1
    • 3.2
    • 3.3
  • Red Hat JBoss Enterprise Application Platform (EAP)
    • 4
    • 5
    • 6
  • Oracle Database

Issue

  • ORA-12505: TNS:listener does not currently know of SID given in connect descriptor errors
  • Server produces or throws following error message when starting:

    WARN  [org.jboss.resource.connectionmanager.JBossManagedConnectionPool] (main) Throwable while attempting to get a new connection: null
    org.jboss.resource.JBossResourceException: Could not create connection; - nested throwable: (java.sql.SQLException: Listener refused the connection with the following error: ORA-12505, TNS:listener does not currently know of SID given in connect descriptor)
    ...
    Caused by: java.sql.SQLException: Listener refused the connection with the following error:
    ORA-12505, TNS:listener does not currently know of SID given in connect descriptor
    

Resolution

These errors are coming from the Oracle Database that JBoss ON or JBoss EAP is using. The database may be in the process of starting and you should wait a moment and try the connection again.

If the issue persists, verify that your database connection parameters are valid and that the specified SID is correct. You may need to consult with your database administrator (DBA) for additional assistance.

Root Cause

The connect descriptor received by the Oracle Database listener specified an Oracle System ID SID for an instance (usually a database instance) that either has not yet dynamically registered with the listener or has not been statically configured for the listener. This may be a temporary condition such as after the listener has started, but before the database instance has registered with the listener.

Diagnostic Steps

  • The message can be found in the JBoss server's log file.
  • What does the output of lsnrctl services <listener name> reveal? This command should be executed on the Oracle Database host. Is the SID correct and properly registered with the listener?
  • Review the database host's listener.log file for relevant events surrounding database startup and the connection attempt.

This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.

Comments