Ora-12203 error

Posted on 1998-12-18
Last Modified: 2012-08-14
This seems tobe an TNS error.  What does it mean? (Ora-12203) and how can it be fixed?
Question by:sandrapei
1 Comment

Accepted Solution

poncejua earned 100 total points
ID: 1083415
The ORA-12203/TNS-12203 error message means:    
  "TNS:unable to connect to destination"    
This message can be displayed for a variety of reasons.    
1) An invalid TNS service name was supplied in the connect string.    
   Verify that the TNS service name supplied in your connect string exists in your TNSNAMES.ORA file.  Also verify that the ADDRESS information for that TNS service name is valid.    
    a) Is the HOST or SERVICE name correct?  
    b) Is the PORT specified correct?    
2) The destination system's listener is not listening. Verify that the remote system's SQL*Net listener is running and that the instance is started.    
3) There may be underlying network transport problems.    
   Verify with utilities supplied with the networking protocol being used that the protocol itself is functional. For esample, with TCP/IP, try PINGing the remote system.    
4) TNSNAMES.ORA file is not in the %ORACLE_HOME%\NETWORK\ADMIN directory.    
   Make sure the Windows workstation has its TNSNAMES.ORA file located in  the directory specified by: %ORACLE_HOME%\NETWORK\ADMIN    
   The %ORACLE_HOME% string should be replaced with the value that is present in your workstation's ORACLE.INI parameter named ORACLE_HOME.    
   If your workstation's ORACLE.INI file has a parameter named TNS_ADMIN, make sure that the TNSNAMES.ORA file is located in the directory pointed to by the TNS_ADMIN parameter.    
5) Make sure the Oracle Protocol adapter for the selected networking protocol is installed.    
   For 16-bit, the %ORACLE_HOME%\BIN directory should have the following  files for each protocol:        
TCP/IP:   NTT.DLL       SPX:      NTS.DLL  
   For 32-bit, the %ORACLE_HOME%\BIN directory should have the following  files for each protocol:        
SPX      :   NTSNT.DLL      
NamedPipe:   NTNNT.DLL    
   A missing protocol adapter driver will usually produce the following errors in the SQLNET.LOG and or any client trace file:    
6) Make sure any Oracle Interchanges (if any) used for this connection  are running.    

7) Ensure that the (HOST=tcpiphostname) for TCP/IP and  
   (SERVICE=spxservicename) for SPX are the the same on the server and client  workstations.    
   This assumes a global knowledge and usage of the same TCP/IP hostname on  the server and client workstations.    
   For TCP/IP setups, make sure that the HOST parameter in the LISTENER.ORA on the server and the TNSNAMES.ORA file on the client point to the same name, or at least to names that are then translated to the same IP  address by each system.  This is especially important for servers with  multiple IP addresses assigned to the various network interfaces on the  server.    
   For SPX setups, the name must be the same on the server and client  workstations.    
8) When using the V2 APPC Adapter for Windows, the alias descriptor in the tnsnames.ora file should have the value for PLU_LA always in upper case or a TNS-12203 will result.  This is irrespective of the case used in the SIDEINFO.NSD file for the symbolic destination name. For example:    
    os2=         (DESCRIPTION=            
will result in a TNS-12203 error.  
    os2=         (DESCRIPTION=            
    will connect fine; where os2 or OS2 is defined as the SYMBOLIC DESTINATION NAME in the SIDEINFO.NSD file.      
9)  When using the V2 NETBIOS Adapter for Windows, and getting  either an ORA-12203 or ORA-12224, reference BUG #301274 and #302380 for  the following patch:    
      Patch 378:  NETBIOS Protocol Adapter V2. Windows.  This patch will fix BUGS # 301274 and 302380.    
10) Each machine on the network must have a unique IP address.  If  there are multiple machines using the same IP address then the network will not know which address to send information packets to.  
    This will result in lost packets and maybe lost connections.    
11) Make sure that a ping of the host returns the same IP as the target host.  
    This may occur using RAS (Remote Access Server) on Windows NT. Upgrade NT v4.0 to service pack 3.  
12) ORA-12203 may occur with ORA-12571. If it does, replace the hostname in the HOST parameter of the client tnsnames.ora with the IP address:
      HOST = (        
Stop and start the listener on the server.  
    On Macintosh clients, go into the CONTROL PANEL -> TCP/IP and remove the Name server entries. Unlike PC's, Macintosh clients will use the host/ipaddress lookup server regardless if the (HOST = ipaddress) is  in the tnsnames.ora.  
13) Even if the configuration files appear correct, the listener may be starting with parameters from a checkpoint file with different information than the listener.ora. Remove the following parameter from the listener.ora:        USE_CKPFILE_LISTENER=TRUE  
14) There is also a bug on the USE_PLUG_AND_PLAY_LISTENER parameter (379247) that causes the listener to start on a random port number. Remove the following parameter from the listener.ora:  

Featured Post

PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Deny Oracle DBAs from Connecting  "/ as sysdba" 5 64
Oracle - Create Procedure with Paramater 16 64
PL/SQL Two changes 7 27
Field name with special character (Ñ) in Oracle 11 50
This article started out as an Experts-Exchange question, which then grew into a quick tip to go along with an IOUG presentation for the Collaborate confernce and then later grew again into a full blown article with expanded functionality and legacy…
Background In several of the companies I have worked for, I noticed that corporate reporting is off loaded from the production database and done mainly on a clone database which needs to be kept up to date daily by various means, be it a logical…
Video by: Steve
Using examples as well as descriptions, step through each of the common simple join types, explaining differences in syntax, differences in expected outputs and showing how the queries run along with the actual outputs based upon a simple set of dem…
This video shows how to configure and send email from and Oracle database using both UTL_SMTP and UTL_MAIL, as well as comparing UTL_SMTP to a manual SMTP conversation with a mail server.

777 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question