title: TNSPING OK but sqlplus gives ORA-12154?
body: <p>I have Oracle 11 running on a Windows server and I'm logged onto the same server trying to use SQL Plus. When I try to connect I get a ORA-12154 even though TNSPING and various other diagnostics look OK. </p>
  
  <p>Can anyone suggest why ? Loads of detail below.</p>
  
  <hr>
  
  <p>I can use sqlplus if I use <strong>EZCONNECT</strong> like this ..</p>
  
  <pre><code>sqlplus EST/EST@192.168.10.15/ORCL
  </code></pre>
  
  <p>... but if I try to connect using <strong>TNSNAMES</strong> like this ...</p>
  
  <pre><code>sqlplus EST/EST@ORCL
  </code></pre>
  
  <p>... I get ...</p>
  
  <pre><code>ORA-12154: TNS:could not resolve the connect identifier specified
  </code></pre>
  
  <p><strong>TNSPING</strong> works OK</p>
  
  <pre><code>C:\Documents and Settings\user1&gt;tnsping ORCL
  
  TNS Ping Utility for 64-bit Windows: Version 11.2.0.1.0 - Production on 12-NOV-2013 12:41:14
  
  Copyright (c) 1997, 2010, Oracle.  All rights reserved.
  
  Used parameter files:
  E:\app\Administrator\product\11.2.0\dbhome_2\network\admin\sqlnet.ora
  
  
  Used TNSNAMES adapter to resolve the alias
  Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.10.15)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = ORCL))
  )
  OK (20 msec)
  </code></pre>
  
  <p>And the <strong>listener</strong> looks like this :</p>
  
  <pre><code>C:\Documents and Settings\user1&gt;lsnrctl services
  
  LSNRCTL for 64-bit Windows: Version 11.2.0.1.0 - Production on 14-NOV-2013 12:02:59
  
  Copyright (c) 1991, 2010, Oracle.  All rights reserved.
  
  Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
  Services Summary...
  Service "CLRExtProc" has 1 instance(s).
    Instance "CLRExtProc", status UNKNOWN, has 1 handler(s) for this service...
      Handler(s):
        "DEDICATED" established:0 refused:0
           LOCAL SERVER
  Service "orcl" has 1 instance(s).
    Instance "orcl", status READY, has 1 handler(s) for this service...
      Handler(s):
        "DEDICATED" established:55 refused:0 state:ready
           LOCAL SERVER
  Service "orclXDB" has 1 instance(s).
    Instance "orcl", status READY, has 1 handler(s) for this service...
      Handler(s):
        "D000" established:0 refused:0 current:0 max:1022 state:ready
           DISPATCHER &lt;machine: MARIEL, pid: 2400&gt;
           (ADDRESS=(PROTOCOL=tcp)(HOST=mariel)(PORT=1045))
  The command completed successfully
  </code></pre>
  
  <p>And this </p>
  
  <pre><code>C:\Documents and Settings\user1&gt;lsnrctl status
  
  LSNRCTL for 64-bit Windows: Version 11.2.0.1.0 - Production on 14-NOV-2013 12:29:21
  
  Copyright (c) 1991, 2010, Oracle.  All rights reserved.
  
  Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
  STATUS of the LISTENER
  ------------------------
  Alias                     LISTENER
  Version                   TNSLSNR for 64-bit Windows: Version 11.2.0.1.0 - Production
  Start Date                14-NOV-2013 11:41:10
  Uptime                    0 days 0 hr. 48 min. 11 sec
  Trace Level               off
  Security                  ON: Local OS Authentication
  SNMP                      OFF
  Listener Parameter File   E:\app\Administrator\product\11.2.0\dbhome_2\network\admin\listener.ora
  Listener Log File         e:\app\administrator\diag\tnslsnr\mariel\listener\alert\log.xml
  Listening Endpoints Summary...
    (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1521ipc)))
    (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.10.15)(PORT=1521)))
  Services Summary...
  Service "CLRExtProc" has 1 instance(s).
    Instance "CLRExtProc", status UNKNOWN, has 1 handler(s) for this service...
  Service "orcl" has 1 instance(s).
    Instance "orcl", status READY, has 1 handler(s) for this service...
  Service "orclXDB" has 1 instance(s).
    Instance "orcl", status READY, has 1 handler(s) for this service...
  The command completed successfully
  </code></pre>
  
  <hr>
  
  <p>Here are the various config files:</p>
  
  <p><strong>listener.ora</strong></p>
  
  <pre><code># listener.ora Network Configuration File: E:\app\Administrator\product\11.2.0\dbhome_2\network\admin\listener.ora
  # Generated by Oracle configuration tools.
  
  SID_LIST_LISTENER =
    (SID_LIST =
      (SID_DESC =
        (SID_NAME = CLRExtProc)
        (ORACLE_HOME = E:\app\Administrator\product\11.2.0\dbhome_2)
        (PROGRAM = extproc)
        (ENVS = "EXTPROC_DLLS=ONLY:E:\app\Administrator\product\11.2.0\dbhome_2\bin\oraclr11.dll")
      )
    )
  
  LISTENER =
    (DESCRIPTION_LIST =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
        (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.10.15)(PORT = 1521))
      )
    )
  
  ADR_BASE_LISTENER = E:\app\Administrator
  </code></pre>
  
  <p><strong>tnsnames.ora</strong></p>
  
  <pre><code># tnsnames.ora Network Configuration File: E:\app\Administrator\product\11.2.0\dbhome_2\network\admin\tnsnames.ora
  # Generated by Oracle configuration tools.
  
  ORACLR_CONNECTION_DATA =
    (DESCRIPTION =
      (ADDRESS_LIST =
        (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
      )
      (CONNECT_DATA =
        (SID = CLRExtProc)
        (PRESENTATION = RO)
      )
    )
  
  ORCL =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.10.15)(PORT = 1521))
      (CONNECT_DATA =
        (SERVER = DEDICATED)
        (SERVICE_NAME = ORCL)
      )
    )
  </code></pre>
  
  <p><strong>sqlnet.ora</strong></p>
  
  <pre><code># sqlnet.ora Network Configuration File: E:\app\Administrator\product\11.2.0\dbhome_2\network\admin\sqlnet.ora
  # Generated by Oracle configuration tools.
  
  # This file is actually generated by netca. But if customers choose to 
  # install "Software Only", this file wont exist and without the native 
  # authentication, they will not be able to connect to the database on NT.
  
  SQLNET.AUTHENTICATION_SERVICES= (NTS)
  
  NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)
  </code></pre>