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 directoryOracle Net transport protocols linked with oracle are:
Oracle Net naming methods linked with oracle are:
Oracle Advanced Security options linked with oracle are:
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.