环境是:
[oracle@localhost ~]$ uname -a
Linux localhost.localdomain 2.6.18-8.el5PAE #1 SMP Fri Jan 26 14:28:43 EST 2007 i686 i686 i386 GNU/Linux
安装的是10.2.0.1
按照文档上发现自己的系统包少了compat-libstdc++-33/compat-libstdc++-296这2个包包,然后使用
[oracle@localhost ~]$ strace -f -o /tmp/trace.1.log $ORACLE_HOME/bin/sqlplus / as sysdba
发现10336 open("/home/oracle/product/10.2.0/db_1/lib/tls/sse2/libsqlplus.so", O_RDONLY) = -1 ENOENT (No such file or directory)
好多这样的错误,那应该是在安装的时候因为少了包导致的问题,没有办法只能重新relink了
ORA-12547: TNS:Lost Contact From SqlPlus [ID 422173.1] | |||||
| |||||
修改时间 01-MAR-2012 类型 PROBLEM 状态 PUBLISHED |
In this Document
Symptoms
Cause
Solution
References
Applies to:
Oracle Server - Enterprise Edition - Version: 10.1.0.2 to 11.2.0.2 - Release: 10.1 to 11.2Linux x86
HP-UX PA-RISC (64-bit)
Oracle Solaris on x86 (32-bit)
z*OBSOLETE: IBM AIX 4.3 Based Systems (64-bit)
Linux x86-64
Symptoms
- Not able to make a local connection.- Getting the following error when trying to connect using Sql*Plus
ERROR:
----------------
ORA-12547: TNS:lost contact
For example:
$sqlplus / as sysdba
SQL*Plus: Release 11.1.0.7.0 - Production on Wed Mar 30 11:59:06 2011
Copyright (c) 1982, 2008, Oracle. All rights reserved.
ERROR:
ORA-12547: TNS:lost contact
Cause
This could be due to- to kernel parameters settings
- Incorrect permissions on the ORACLE executable
- Insufficient ulimit setting for stack
- $ORACLE_HOME/rdbms/lib/config.o is 0 bytes
- Oracle binaries have not been linked correctly
- A missing $ORACLE_HOME/dbs directory
Note that creating an empty dbs directory already solves this error and you can for instance shutdown the instance. However, you will obviously not be able to restart because of the missing parameter file. So, the dbs directory needs to be fully restored.
Solution
To implement the solution, please execute the following steps:1. This could be due to kernel parameters settings
Please check the notes below that provide the required settings for kernel parameters
Note 169706.1 Oracle Database on AIX,HP-UX,Linux,MacOSX,Solaris,Tru64
2. This could be due to incorrect permissions on the ORACLE.exe
Optionally, if you collect the OS trace with:
$strace -f -o /tmp/trace.1.log $ORACLE_HOME/bin/sqlplus / as sysdba
You may see some (Permission denied) in the trace.1.log like the following:
21810 open("/oracle/PROD/db/tech_st/11.1.0/admin/PROD_erptest/diag/rdbms/prod/PROD/alert/log.xml", O_WRONLY|O_CREAT|O_APPEND, 0664) = -1 EACCES (Permission denied)
......
21810 open("/oracle/PROD/db/tech_st/11.1.0/admin/PROD_erptest/diag/rdbms/prod/PROD/trace/alert_PROD.log", O_WRONLY|O_CREAT|O_APPEND, 0664) = -1 EACCES (Permission denied)
......
21810 open("/oracle/PROD/db/tech_st/11.1.0/admin/PROD_erptest/diag/rdbms/prod/PROD/trace/alert_PROD.log", O_WRONLY|O_CREAT|O_APPEND, 0664) = -1 EACCES (Permission denied)
The 'ls' command should show permissions 6751 (as follows)
Please check permissions by running:
$ cd $ORACLE_HOME/bin
$ ls -l oracle
The output should show the correct permission which is:
-rwsr-s--x 1 oracle dba
If not, then please execute the following to correct the permissions:
$ cd $ORACLE_HOME/bin
$ chmod 6751 oracle
$ ls -l oracle
Please also verify if the following are correct:
echo $ORACLE_HOME
echo $ORACLE_SID
echo $LD_LIBRARY_PATH
echo $PATH
3. Check the current ulimit setting for stack
ulimit -a
Check the install guide for your specific platform and version of Oracle and set the stack appropriately.
4. Check to ensure the following two files are not 0 bytes:
$ORACLE_HOME/bin/oracle
$ORACLE_HOME/rdbms/lib/config.o
$ORACLE_HOME/rdbms/lib/config.o
If yes, rename the following file:
% cd $ORACLE_HOME/rdbms/lib
% mv config.o config.o.bad
Then, relink the oracle binary:
% relink oracle
5. If the above does not resolve I suggest that you shutdown the database and listener and then
"relink all"
Note 131321.1 How to Relink Oracle Database Software on UNIX
References
NOTE:131321.1 - How to Relink Oracle Database Software on UNIXNOTE:169706.1 - Oracle Database on Unix AIX,HP-UX,Linux,Mac OS X,Solaris,Tru64 Unix Operating Systems Installation and Configuration Requirements Quick Reference (8.0.5 to 11.2)
NOTE:555565.1 - Troubleshooting ORA-12547 TNS: Lost Contact
NOTE:188149.1 - How to Display and Change UNIX Process Resource Limits
NOTE:744512.1 - Ora-12547: Tns:Lost Contact Creating Database After Clean Installation