Oracle Database / Connections & Oracle Net
ORA-12505: distinguish a requested SID from a database service
A legacy descriptor using SID can fail even though the application service is registered. Identify what the client requested and what the listener advertises.
Environment and inputs: Oracle Database 19c baseline · SQL*Plus-compatible SQL unless RMAN, DGMGRL, ADRCI or a host shell is specified. Check release, patch level, edition and container first.
Start with this diagnostic
Use the stated SQL, RMAN, DGMGRL or host shell and replace sample names with approved targets. DBA and V$ views need authorized catalog access in the correct container. Do not grant broad privileges for an example.
lsnrctl services LISTENER
Read the result
The service listing exposes advertised services and instance handlers. Compare it with the descriptor's CONNECT_DATA rather than treating any similarly named instance as a match.
Resolve and verify
Use the application's supported service-based descriptor when appropriate, or have the DBA configure the explicitly required SID handling. Test a real connection after the correction.
Operational precautions
SID and service semantics differ, especially with PDBs and managed services. Do not change a descriptor without confirming the intended database.