使用克隆安装oracle 11g 以后,然后使用cadb建库报错:ORA-12547: TNS:lost contact
对于这么一个不明显的错误,实在很难定位确认问题,网上给了很多建议:
1、缺包,libiao、ksh等
2、配置文件错误
3、环境变量不对
4、Oracle目录权限不对
5、$ORACLE_HOME/bin/oracle文件权限或文件大小不对
针对以上问题做了比较认真的检查,都没有发现问题所在。
同时使用strace对执行sqlplus / as sysdba进行了跟踪,没有发现明显异常。
#strace -f -o /tmp/trace.1.log $ORACLE_HOME/bin/sqlplus / as sysdba
最后把配置文件如/etc/security/limits.conf、/etc/sysctl.conf删除,并从新配置后问题解决。
最后对所有的配置文件进行了对比。
发下原有配置文件/etc/security/limits.conf内容如下:
* soft nofile 65534
* hard nofile 65534
* soft stack 1024
* hard stack 1024
* soft nproc 65534
* hard nproc 65534
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
oracle soft memlock unlimited
oracle hard memlock unlimited
原来安装脚本在修改配置文件的时候是追加的形式,对于原有的*开头的配置文件不会先删除,导致如下这一行配置没有生效
* soft stack 1024 #生效
oracle soft stack 10240 #不生效
在使用strace sqlplus / as sysdba跟踪的时候,发现在打开一个1.1M的文件之后抛出异常ORA-12547,原来问题就出在配置文件这里。
总结:
有时候,因为一些意外的原因,导致我们修改的配置文件并没有生效,所以我们可以加一个验证环节,针对这个问题,我们可以使用ulimit -a检查各个各资源限制情况是否OK。
参考:
https://oracledbamasters.wordpress.com/2014/02/25/ora-12547-tns-lost-contact/
ERROR:
$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:
1) to kernel parameters settings
2) Incorrect permissions on the ORACLE executable
3) Insufficient ulimit setting for stack
4) $ORACLE_HOME/rdbms/lib/config.o is 0 bytes
5) Oracle binaries have not been linked correctly
附:详细报错日志
Copying database files
DBCA_PROGRESS : 1%
DBCA_PROGRESS : 2%
ORA-12547: TNS:lost contact
ORA-12547: TNS:lost contact
DBCA_PROGRESS : 4%
DBCA_PROGRESS : 37%
Creating and starting Oracle instance
ORA-12547: TNS:lost contact
DBCA_PROGRESS : 38%
ORA-12547: TNS:lost contact
DBCA_PROGRESS : 40%
ORA-12547: TNS:lost contact
DBCA_PROGRESS : 45%
DBCA_PROGRESS : 50%
DBCA_PROGRESS : 51%
ORA-12547: TNS:lost contact
DBCA_PROGRESS : 56%
ORA-12547: TNS:lost contact
ORA-12547: TNS:lost contact
ORA-12547: TNS:lost contact
DBCA_PROGRESS : 57%
ORA-12547: TNS:lost contact
DBCA_PROGRESS : 61%
DBCA_PROGRESS : 62%
Completing Database Creation
DBCA_PROGRESS : 66%
DBCA_PROGRESS : 70%
ORA-12547: TNS:lost contact
DBCA_PROGRESS : 73%
DBCA_PROGRESS : 74%
ORA-12547: TNS:lost contact
DBCA_PROGRESS : 85%
ORA-12547: TNS:lost contact
DBCA_PROGRESS : 86%
ORA-12547: TNS:lost contact
ORA-12547: TNS:lost contact
ORA-12547: TNS:lost contact
DBCA_PROGRESS : 98%
DBCA_PROGRESS : 100%