问题
工作管理员中的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名称
成功连线