oracle11G 已开启监听,但远程连接依旧无监听解决过程

1、连接数据库显示无监听程序,首先查看服务器的oracle监听服务是否开启,服务名称:OracleOraDb11g_home1TNSListener(具体环境中可能不完全一样,但是认准TNSListener是没错的)
2、本地使用127.0.0.1可以连接,但使用本机IP则显示无监听,使用其他机器连接也是无监听,先排查一下防火墙问题
3、排查防火墙后依旧没有解决,那么问题根源所在:oracle的listener.ora文件

解决办法:

listener.ora文件路径:F:appAdministratorproduct11.2.0dbhome_1NETWORKADMINlistener.ora(具体安装路径可能有不同,请根据自己的安装路径来找),修改之后需要重启监听服务

重重之重:一定要在客户机上添加一个环境变量:

变量一:
名:TNS_ADMIN
值:tnsnames.ora 文件所在路径d:instantclient_11_2 etworkadmin
变量二:
名:ORACLE_HOME
值:oracle安装好的根目录
变量三:
在path 中增加%ORACLE_HOME%BIN

plsql通过这个找到orcl连接字符串 ,否则无法连接

plsql的设置:

其他收获:
1、有些机子是认不到localhost的,所以尽量使用127.0.0.1
2、plsql会读取F:appAdministratorproduct11.2.0dbhome_1NETWORKADMIN nsnames.ora文件
3、修改了listener.ora文件之后,如果出现服务无法启动(提示服务没有报告任何错误),那么很有可能是listener.ora文件中某个地方写错了,比如说少了个括号什么的

原文地址:https://www.cnblogs.com/yclizq/p/14210264.html