On 01/18/2006 10:50:53 AM, Jonathan Knight wrote: > I have a strange (to me anyway) problem with TNS.
The problem is not strange. It is a configuration problem.
> > Connecting with SQL*Plus, SQL*Navigator, TOAD: I get > "ORA-12154 (See ORA-12154.ora-code.com): TNS:could not resolve service name"
You should kiss the toad and fix your tnsnames.ora
> > But, tnsping returns in 100-130 msecs. ?!?!?!
The tnsping contacts the listener. If the listener is there, TNSPING is successful. Service name, on the other hand, is a property of an instance, not listener.
To be able to connect, your database must have service name defined like this: SQL> show parameter service_names
NAME TYPE VALUE -- ---- ---- ---- ---- ---- ---- --- -- ---- --- -- ---- ---- ---- ---- ---- -- service_names string oracle SQL>
Your problem is that the database doesn't have the same service name as your tnsnames.ora. What you need to do is either to change SERVICE_NAME into SID and then put the appropriate SID or set SERVICE_NAME to the value exported by the instance. If your database isn't RAC, in which case several instances may have the same value for the service_name both methods are equivalent. From the aesthetic point of view service name is strongly preferred, at least by me.