ORA-12154: TNS:could not resolve the connect identifier specified Error and Solution

in Categories , , , , , last updated May 1, 2008

Q. My Oracle XE installation was working fine, but today I’m getting an error – which read as follows under Ubuntu Linux :

ORA-12154: TNS:could not resolve the connect identifier specified

How do I fix this problem without reinstalling Oracle?

A. Try following solutions:

Make sure DNS / host name resolution working fine

$ host oracle-server-ip
$ host oracle-server-hostname

Make sure /etc/resolv.conf and /etc/hosts and /etc/host.conf configured properly.

Make sure tnsnames.ora is configured properly:

Type the following command to login as oracle / dba user:
$ su - oracle
$ cd /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/network/admin/
$ vi tnsnames.ora

Make sure hostname / IP is correctly defined and resolving perfectly:

# tnsnames.ora Network Configuration File:

XE =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = vivek-desktop)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = XE)
    )
  )

EXTPROC_CONNECTION_DATA =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC_FOR_XE))
    )
    (CONNECT_DATA =
      (SID = PLSExtProc)
      (PRESENTATION = RO)
    )
  )

Make sure the host, port and service name specified are correct in listener.ora and above file:
$ cd /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/network/admin/
$ vi listener.ora

My sample working file:

# listener.ora Network Configuration File:

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = /usr/lib/oracle/xe/app/oracle/product/10.2.0/server)
      (PROGRAM = extproc)
    )
  )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC_FOR_XE))
      (ADDRESS = (PROTOCOL = TCP)(HOST = vivek-desktop)(PORT = 1521))
    )
  )

DEFAULT_SERVICE_LISTENER = (XE)

Make sure firewall is not blocking TCP ports:
$ sudo iptables -L -n
If everything else failed try to trace problem by running strace:
$ su - oracle
$ strace -o /tmp/debug.sqlplus sqlplus user/password

Posted by: Vivek Gite

The author is the creator of nixCraft and a seasoned sysadmin, DevOps engineer, and a trainer for the Linux operating system/Unix shell scripting. Get the latest tutorials on SysAdmin, Linux/Unix and open source topics via RSS/XML feed or weekly email newsletter.

Share this on (or read 12 comments/add one below):

12 comment

  1. Dear sir,

    Thank you for send the every time latest infomation on linux based and also do me some help to me.
    How do i install Oracle10g on RedHat Enterprises Linux 5 kindly send me the same with step by step.

    Thanks & Regards,
    Venu R,
    IT Dept,
    Avantha Technologies Ltd
    Secunderabad.

    1. Send me an email, i’ll send you complete step by step installation of Oracle 10g on Linux RHEL3, 4 , 5 , 6. Also its the same procedure to install 11g.

      Ashwin Patel

  2. this solution very useful to biggners to change listener.ora and tnsnames.ora file
    to configure system

  3. i have configure SDU and TDU configuration in tnsnames.ora and listener.ora
    file to increase the network performance , but now iam getting error code 12154 while connecting through sqlplus…………. my all syntax for the above files are correct there is no any spell mistake.

    please giude me.

    manoj kulkarni
    microstop infotech.
    india.

  4. So strange, it always reports an error which says TNS-12533 illegal address parameters
    I have get the debugging file, but I don’t know how to analyse it.

  5. Hi,

    Even i did all modifications, getting same error…

    Can you help me more in this issue ?

    Thanks in advance

    Suresh

  6. $ su – oracle
    $ cd /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/network/admin/
    $ vi tnsnames.ora
    where to type these commands and how to check?

  7. $ host oracle-server-ip
    $ host oracle-server-hostname
    where to type these command and how to check?

  8. Hi,
    Thank you for putting all the steps together for a quick check.But,
    I am currently facing a situation with the ORA-12154 error.
    I have checked all the things that you have listed up above but unable to find any resolution.
    My database mounted perfectly
    TNSPING is good
    I have also checked the TNSNAMES.ora and it is fine
    Listener configuration is good
    /etc/hosts, /etc/resolv.conf .. etc. everything is good but I am unable to connect to my database I am unable to understand what is the issue. Can you please help me in this.

    Have a question? Post it on our forum!