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

Posted 老-顾

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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(具体安装路径可能有不同,请根据自己的安装路径来找),修改之后需要重启监听服务

 

解决过程中的一些其他技巧:

1、cmd可以使用的命令:

lsnrctl stop  停止监听服务

lsnrctl start  开始监听服务

lsnrctl reload  重启监听服务

lsnrctl status 查看监听服务状态

tnsping IP 查看该IP的监听服务是否正常 例如:tnsping 192.168.20.25

 

2、可以使用sqlplus进入数据库进行操作(在各种工具都无法连接数据库的情况下,sqlplus依旧坚挺)

show parameter listen 查看数据库中关于监听的配置

alter system set local_listener=‘(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))’ (修改监听配置列表中的参数,引号中的参数仅作为样例)

原先无论如何都无法连接数据库,显示无监听,进行这一步修改之后,本机使用127.0.0.1就可以连接数据库了,但其他机子以及使用IP依旧无法连接,然后才有了上面一步的操作

 

其他收获:

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文件中某个地方写错了,比如说少了个括号什么的

以上是关于oracle11G 已开启监听,但远程连接依旧无监听解决过程的主要内容,如果未能解决你的问题,请参考以下文章

oracle远程连接报ORA-12541:TNS:无监听程序

vc 6.0连接oracle11g

oracle 11g怎样配置才能连接远程数据库

ORACLE 11g没有监听

本地oracle可以通过localhost连接,无法通过ip地址连接解决方法,oracle远程连接配置

Oracle错误集锦:PLSQL无法直连64位Oracle11g数据库