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

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

解决办法:

listener.ora文件路径:F:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN\listener.ora(具体安装路径可能有不同,请根据自己的安装路径来找),修改之后需要重启监听服务

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

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

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

plsql的设置:

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

posted @ 2020-12-30 10:55  yclizq  阅读(1670)  评论(0编辑  收藏  举报