ORACLE LSNR服务刚启动就挂掉 - 解决方式

问题

工作管理员中的listener刚启动就挂掉, 一直无法连线疯狂绕圈

点我查看

说明

在连线到ORACLE时, 客户端不会直接连线到ORACLE资料库, 而是会透过Client专用程式, 连线到于Server上的Listener服务。 Listener收到Client的请求之后, 会先验证请求的有效性, 确认后, Listener再启动一个process, 将负责处理与客户的Connection,有了这个connection, cilent才能够与oracle沟通。

而在一般客户端的部分, 会使用到的client进行连线, 在client资料夹里面会有个档案listener.ora,里面可以指定Server中Listener的连线资讯。

如何确定自己所使用的client?
通常若将oracle安装在自己电脑上进行开发使用, 会附在安装oracle资料夹里面, 也可以检查环境变数, 这个listener.ora通常会在%ORACLE_HOME%/network/admin的资料夹。

查看listener.ora里面, 写说要连线到localhost

但是这样储存档案之后, 去将lsnr服务关闭后, 就无法重启lsnr服务

解决:
经查, 发现可将HOST的值设定为本机的装置名称

使用CMD查询本机装置名称

将装置名称複製到Host后, 储存档案

再次至工作管理员, 将lsnr服务手动重启, 终于可顺利启动。

个人猜想可能是我的环境变数没设定好, 导致listener不认识localhost。


接着可使用DB连线工具, 测试本机连线是否正常
这里使用SQL Developer
记得主机名称要改成刚才在listener.ora所修改的HOST名称

成功连线

参考资料

Oracle11g监听器(Listener)的一些基础知识【Oracle数据库】ORA-12541: TNS:no listener 的详细解决方案

关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章