ORA-12157 TNS:internal network communication error when connecting after fresh installation

Recently i came across a problem i thought was fixed since 10g:

After a fresh installation of oracle 10g when trying to connect to the instance (for instance to create the database for the first time) you get the following error:

oracle@host#:> sqlplus /nolog

 SQL*Plus: Release 10.2.0.4.0 - Production on Do Oct 8 08:23:18 2009
 Copyright (c) 1982, 2007, Oracle.  All Rights Reserved.

 SQL> connect / as sysdba
 ERROR:
 ORA-12157: TNS: internal network communication error.

This error is related to the linking phase when installing oracle. In your environment used during installation the variable TMPDIR pointed to a non existing directory. When linking oracle some adapters (like tcp) were not linked correctly. You can verify this with:

oracle@host#:> cd $ORACLE_HOME
oracle@host#:~/bin> adapters oracle

/u01/app/oracle/product/oracle/bin/adapters: line 70:

/u01/app/oracle/product/oracle/temp/naetab18456: no such file or directory

/u01/app/oracle/product/oracle/bin/adapters: line 71:

/u01/app/oracle/product/oracle/temp/nautab18456: no such file or directory
/u01/app/oracle/product/oracle/bin/adapters: line 296:

/u01/app/oracle/product/oracle/temp/exec18456: no such file or directory

Oracle Net transport protocols linked with oracle are:

Oracle Net naming methods linked with oracle are:

Oracle Advanced Security options linked with oracle are:

The solution for this is to relink oracle again. Make sure you create the missing $TMPDIR first or change $TMPDIR to point to a existing and writeable directory:

oracle@host#:> cd $ORACLE_HOME/network/lib
oracle@host#:> make -f ins_net_client.mk ntcontab.o
oracle@host#:> cd $ORACLE_HOME/bin
oracle@host#:> genclntsh
oracle@host#:> cd $ORACLE_HOME/rdbms/lib
oracle@host#:> make -f ins_rdbms.mk install
oracle@host#:> cd $ORACLE_HOME/sqlplus/lib
oracle@host#:> make -f ins_sqlplus.mk install
oracle@host#:> cd $ORACLE_HOME/network/lib
oracle@host#:> make -f ins_net_client.mk install
oracle@host#:> cd $ORACLE_HOME/network/lib
oracle@host#:> make -f ins_net_server.mk install

You can verify it by running “adapters oracle” again:

oracle@host#:> cd $ORACLE_HOME
oracle@host#:~/bin> adapters oracle

Oracle Net transport protocols linked with oracle are:

 IPC
 BEQ
 TCP/IP
 SSL
 SDP/IB
 RAW

Oracle Net naming methods linked with oracle are:

 Local Naming (tnsnames.ora)
 Oracle Directory Naming
 Oracle Host Naming

Oracle Advanced Security options linked with oracle are:

 RC4 40-bit encryption
 RC4 56-bit encryption
 RC4 128-bit encryption
 RC4 256-bit encryption
 DES40 40-bit encryption
 DES 56-bit encryption
 3DES 112-bit encryption
 3DES 168-bit encryption
 AES 128-bit encryption
 AES 192-bit encryption
 AES 256-bit encryption
 MD5 crypto-checksumming
 SHA-1 crypto-checksumming
 Kerberos v5 authentication
 RADIUS authentication
oracle@host#:> cd $ORACLE_HOME
oracle@host#:~/bin> adapters oracle

/u01/app/oracle/product/oracle/bin/adapters: line 70:
/u01/app/oracle/product/oracle/temp/naetab18456: no such file or directory

/u01/app/oracle/product/oracle/bin/adapters: line 71:
/u01/app/oracle/product/oracle/temp/nautab18456: no such file or directory/u01/app/oracle/product/oracle/bin/adapters: line 296:
/u01/app/oracle/product/oracle/temp/exec18456: no such file or directory

Oracle Net transport protocols linked with oracle are:

Oracle Net naming methods linked with oracle are:

Oracle Advanced Security options linked with oracle are:

This entry was posted in Oracle in general. Bookmark the permalink.

One Response to ORA-12157 TNS:internal network communication error when connecting after fresh installation

  1. Rubens says:

    I ran into this problem a few days ago and didn’t know what could be possible happening. You article described and resolved the problem. Thank you very much for it. Regards.

Leave a Reply

Your email address will not be published. Required fields are marked *