ORA-12547: TNS:lost contact报错的处理方法

最近两天在虚拟机上搞Oracle 12.2的安装,安装的过程挺顺利的。但虚拟机重启之后就无法连接数据库,执行sqlplus / as sysdba报错ORA-12547: TNS:lost contact

为什么呢?安装完后测试都好好的,怎么重启之后会这样呢。在网上找了很多方法来处理:

网上给出的解决思路如下:

1、查看操作系统内核参数是否无误  
[[email protected] database]$ ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 15738
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 10240
cpu time               (seconds, -t) unlimited
max user processes              (-u) 2047
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited
  
2、确认$ORACLE_HOME/bin/oracle文件权限是否有问题  
(在rac下需要查看$ORACLE_HOME/bin/oracle和$GRID_HOME/bin/oracle两个文件),  
正确权限为:  
[[email protected] adump]$ ll $ORACLE_HOME/bin/oracle  
-rwsr-s--x 1 oracle oinstall 232399083 Aug 28 17:23 /u01/app/oracle/product/11.2.0/db_1/bin/oracle  
  
如果权限不对  
chmod 6751 $ORACLE_HOME/bin/oracle  
  
3、检查一下环境变量  
echo $ORACLE_HOME  
echo $ORACLE_SID  
echo $LD_LIBRARY_PATH --注意:不同的操作系统此环境变量会不同  
echo $PATH  
  
4、检查$ORACLE_HOME/bin/oracle 和 $ORACLE_HOME/rdbms/lib/config.o 的文件大小是否为0,  
如果大小为0,需要重新编译oracle软件:  
[[email protected] backup]$ relink all  
writing relink log to: /u01/app/oracle/product/11.2.0/db_1/install/relink.log  
  
5、使用操作系统跟踪命令跟踪sqlplus连接过程,从而观察跟踪文件。 
ltrace -f -o /tmp/sqlplus.log sqlplus / as sysdba
或truss命令

参考自:http://blog.csdn.net/ch7543658/article/details/38901355

按照上面的五个步骤都做了一遍还是一直报错。

最后仔细检查了一下内核配置和oracle用户的limit参数配置,发现limits.conf中有一个参数配置的值太小,我配置的是:

oracle  hard  stack   1024

而官方文档中建议的是10240。

这才想起来,当时安装Oracle时偷懒没有配置内核参数和limits.conf文件,而是使用fix.sh脚本修改的,修改完后发现有些配置没有写到配置文件里,就又手动把漏掉的配置写了进去,结果还写错了,最终导致了上面的错误的出现。

修改limits.conf文件后重新使用oracle用户登录,不再报错。

时间: 2024-10-13 02:20:10

ORA-12547: TNS:lost contact报错的处理方法的相关文章

金蝶财务软件帐套属性设置保存和帐套启用报错的解决方法

金蝶财务软件新建立帐套,在帐套属性设置完毕保存提示如下图的提示,所以帐套也就启用不了,在启用的时候也会提示下图的错误: 查找原因的时候,一直提示"NT AUTHORITY\NETWORK SERVICE"登陆失败,就突然想到了,是不是登陆数据库的时候,默认以管理员登陆,管理员能登陆成功,是不是得把这个用户加入到管理员组才可以呢,结果就试了下,最后发现还真是这个情况,把这个用户加入管理员后,帐套启用成功.以下是用户加入管理员组的步骤,可以参考以下: 进入计算机管理 找到组 双击管理员组

ArcGIS API for Silverlight 调用WebService出现跨域访问报错的解决方法

原文:ArcGIS API for Silverlight 调用WebService出现跨域访问报错的解决方法 群里好几个朋友都提到过这样的问题,说他们在Silverlight中调用了WebService方法,总报这个错误,贴图如下: 解决办法: 1.确定你的Silverlight项目及承载Silverlight的Web程序根目录下都包含2个跨域文件,分别是crossdomain.xml和clientaccesspolicy.xml: crossdomain.xml文件,如下: <?xml ve

centos编译libpng报错,解决方法

/usr/local/lib/libz.a: could not read symbols: Bad value 一般是64 位 电脑才会出现. 解决方法如下: 1 cd zlib-1.2.3 //进入zlib目录 2 3 CFLAGS="-O3 -fPIC" ./configure //使用64位元的方法进行编译 4 5 make 6 7 make install 8 9 make clean centos编译libpng报错,解决方法,布布扣,bubuko.com

svn“Previous operation has not finished; run &#39;cleanup&#39; if it was interrupted“报错的解决方法

今天碰到了个郁闷的问题,svn执行clean up命令时报错“Previous operation has not finished; run 'cleanup' if it was interrupted”.无论你到那个父层次的目录执行“clean up “,都是报一样的错.执行cleanup时候,提示要cleanup.看来是进入死循环了. 可能是频繁做了一些改名,文件打开的时候更新或者提交操作,导致svn罢工了.这个也该算是svn的bug吧.类似的情况,其实之前也碰到过.之前都是图省事,把整

MySQL 5.7 Invalid default value for &#39;CREATE_TIME&#39;报错的解决方法

出处:http://blog.itpub.net/15498/viewspace-2136006/ 由于数据库的升级,今天在执行从MySQL 5.6导出来的SQL文件时报错: mysql> source cms_user.sqlQuery OK, 0 rows affected (0.00 sec) Query OK, 0 rows affected, 1 warning (0.04 sec) ERROR 1067 (42000): Invalid default value for 'CREA

Linux---RPM安装报错以及解决方法

安装Samba服务器时候使用CD挂载安装的,结果遇到如下报错 not an rpm package (or package manifest):Input/output error                   //报错信息 解决方法:重新下载新的RPM安装包,原因是因为RPM包有损坏,多发生在挂在CD的情况下 下载RPM包地址 http://rpm.pbone.net/

sqlserver 遇到以零作除数错误的处理 不报错的解决方法

原文:sqlserver 遇到以零作除数错误的处理 不报错的解决方法 使用sqlserver 的选项来禁止出现以零除的错误中断,让而让其为null set ansi_warnings offSET ARITHABORT offSET ARITHIGNORE on select 1/0 显示结果 无列名 null

Process refuced to die after 10 seconds,and couldn&#39;t taskkill it:Unable to find executable for:taskkill报错及解决方法

同样的代码上次测试时可以完整无误地运行,这次打开eclipse运行时Junit报如下错误: taskkill是用来结束进程的,引起该问题的原因是windows系统文件taskkill.exe无法执行.我的解决方法如下:找到C:\Windows\System32目录下的taskkill.exe文件,双击打开,taskkill.exe会闪退一下,关闭目录后重新运行eclipse中的测试代码,报错问题解决. Process refuced to die after 10 seconds,and cou

腾讯云二进制包安装mysql报错及其解决方法

报错及其解决方法:-bash:mysql: command not found [[email protected] mysql]# ./scripts/mysql_install_db   --user=mysql --datadir=/mydata/data Installing MySQL system tables... ./bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared