Ora-12541和Ora-12514的解決
ORA-12541:No Listner
ORA-12514:TNS:listener does not currently know of service requested in connect descriptor
公司有台服务器换了个机房,数据库就崩了 PL/SQL连接首先是 12541,后来鼓捣一阵变12514.记录解决方案
一、ORA-12541:无监听,(此处非正常解决方案,因为摆了个乌龙)
首先查看监听状态:cmd > lsnrctl status
发现监听正常(若不正常需要启动监听balabala),监听到一个CLRExtProc的实例在运行,没有发现当前数据库实例(我也奇怪以前为什么没问题)
再打开服务查看,监听服务也正在运行 ;在数据库实例的tnsnames.ora中并没有发现异常,且使用SQLPLUS居然能连接并查到数据!
最后在 实例客户端文件夹D:\instantclient\instantclient_11_2\NETWORK\ADMIN中发现还有独立的tnsnames.ora(PL/SQL从此处获取所有数据库服务),改到跟服务端一致就OK了 囧o(╯□╰)o
再次连接,ORA-12541已过,出现ORA-12514。
二、ORA-12514:TNS:监听程序当前无法识别连接描述符中请求的服务
因为服务端SQLPLUS能访问而所有客户端均不能访问,考虑是服务端问题。再次检查数据库实例的listner.ora,发现和客户端的又不一样??服务端的居然缺了下面绿色的一段
SID_LIST_LISTENER =
加上后重启监听服务,再次连接后正常登入,cmd > lsnrctl status 已发现两个实例。奇怪的是之前为毛没出问题?
发表评论或回复