PLSQL Developer远程连接Oracle报错提示:“ORA-12541:TNS:无监听程序”的解决方案及思路

环境:
1、Windows Server
2、远程Oracle数据库:Oracle11g R2
3、PL/SQL程序:PL/SQL Developer Version 11.0.5.1790 (64 bit)

远程连接报错页面

一、思路拆解:
此现象一般定位到远端的监听服务来找问题,在远端查看监听服务状态(具体看下面的解决方案会详细呈现),服务是否开启,另外查看监听端点概要是否存在host未指向到计算名的,如无直接进入监听配置文件listener.ora内添加指向即可。

二、解决方案:
1、本地及远端安装好Oracle并配置好连接,Oracle服务和监听已启动;
2、查看监听服务状态 lsnrctl status,右边为远端端点状态,未添加host指向到计算名;

查看监听服务状态 lsnrctl status

3、修改远程端oracle目录下的两个文件,注意是远程端:

C:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN\listener.ora
# listener.ora Network Configuration File: C:\app\Administrator\product\11.2.0\dbhome_1\network\admin\listener.ora
# Generated by Oracle configuration tools.

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    )
  )
ADR_BASE_LISTENER = C:\app\Administrator

4、将上述文件内容中的localhost修改为计算机名,如下述:

(ADDRESS = (PROTOCOL = TCP)(HOST = 计算机名)(PORT = 1521))

5、重启监听服务:
进入下述服务手动重启Services.msc—重启OracleOraDb11g_home1TNSListener服务即可。
重启服务后可以查看监听服务状态 lsnrctl status,此时比之前多一条host指向记录,这时再进行远程连接即可。

在这里插入图片描述


三、其他命令参考:
附上监听服务的一些简单命令,后续在Linux环境下会经常用到,Windows环境下dos cmd命令如下:
lsnrctl stop 停止监听服务
lsnrctl start 开始监听服务
lsnrctl reload 重启监听服务
lsnrctl status 查看监听服务状态
tnsping IP 查看该IP的监听服务是否正常 例如:tnsping 192.168.20.25

相关文章

文章浏览阅读773次,点赞6次,收藏9次。【代码】c# json字符...
文章浏览阅读8.7k次,点赞2次,收藏17次。此现象一般定位到远...
文章浏览阅读2.8k次。mysql脚本转化为oracle脚本_mysql建表语...
文章浏览阅读2.2k次。cx_Oracle报错:cx_Oracle DatabaseErr...
文章浏览阅读1.1k次,点赞38次,收藏35次。本文深入探讨了Or...
文章浏览阅读1.5k次。默认自动收集统计信息的时间为晚上10点...