ITPub博客

首页 > 数据库 > Oracle > ORA-12170: TNS:Connect timeout occurred(Listener没有正确启动引发的异常)

ORA-12170: TNS:Connect timeout occurred(Listener没有正确启动引发的异常)

原创 Oracle 作者:zjrodger 时间:2015-01-30 23:12:58 0 删除 编辑

【环境参数】

Host OS:Win7 32bit

Client OS:Oracle Enterprise Linux 5/ CentOS5.5

虚拟机:VMware 10.0..1

Oracle版本:Oracle 11g R2

第三方客户端:Oracle SQL Developer 3.0.04 

 

【障碍再现】

在Linux平台上,安装完Oracle后,重启Linux服务器,之后,通过dbstart命令启动Oracle服务,之后直接就通过远程客户端Oracle SQL Developer 3.0.04或者远程SQL*Plus客户端连接Oracle服务器,却发生错误。 

(1)使用第三方工具Oracle SQL Developer登录时,出现的现象。

(2)使用远程客户端的SQLPlus登录时,出现的现象。

Oracle 远程登录 ORA-12170: TNS:Connect timeout occurred。

 

 

【原因分析】

1、dbstart命令的作用仅仅是启动Oracle服务进程,并没有启动Oracle listener,若此时,用户要通过远程客户端连接服务器端的Oracle服务,则会报错。

 

2、Listener的作用:

(1)它负责管理 Oracle 数据库和远程客户端(非服务器端上的客户端)之间的通讯,它在一个特定的网卡端口(默认是TCP 1521端口)上监听连接请求,并将连接转发给数据。

(2)监听程序是一个驻留在数据库服务器上的独立进程(因而只能在服务器端配置监听程序),用来监听所有“要求连接到数据库服务的客户机端请求”,并管理器通信量。

(3)一个服务器可以有多个监听程序,分别监听不同协议和端口。这样可以平衡一个监听程序的工作负载,降低其失败对工作的影响,从而提高服务器的可靠性。

(4)监听器的作用:只负责建立客户端与数据库服务器端的连接,并不负责客户端与数据库服务器端的通信。监听客户端与服务器的连接,只要客户端连接上了,之后的操作就与监听无关了。

 

【解决方案】

       将Oracle Listener重启即可。 

 

【具体步骤】

1、进入lsnrctl配置程序并且查看当前监听器的状态

[oracle@OELHost ~]$ lsnrctl

LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 30-JAN-2015 21:28:41

Copyright (c) 1991, 2009, Oracle.  All rights reserved.

Welcome to LSNRCTL, type "help" for information.

 

LSNRCTL> status

Connecting to

 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=OELHost)(PORT=1521)))

TNS-12541: TNS:no listener

 TNS-12560: TNS:protocol adapter error

  TNS-00511: No listener

   Linux Error: 111: Connection refused

//说明Listener没有启动,因此,Oracle无法处理远程客户端的连接请求。

LSNRCTL>

 

 

2、启动监听器

LSNRCTL> start

Starting /u01/oracle/bin/tnslsnr: please wait...

 

TNSLSNR for Linux: Version 11.2.0.1.0 - Production

System parameter file is /u01/oracle/network/admin/listener.ora

Log messages written to /u01/diag/tnslsnr/OELHost/listener/alert/log.xml

Listening on:

(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=OELHost)(PORT=1521)))

 

Connecting to

 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=OELHost)(PORT=1521)))

STATUS of the LISTENER

------------------------

Alias                     LISTENER

Version                   TNSLSNR for Linux: Version 11.2.0.1.0 - Production

Start Date                30-JAN-2015 21:29:21

Uptime                    0 days 0 hr. 0 min. 0 sec

Trace Level               off

Security                  ON: Local OS Authentication

SNMP                      OFF

Listener Parameter File   /u01/oracle/network/admin/listener.ora

Listener Log File         /u01/diag/tnslsnr/OELHost/listener/alert/log.xml

Listening Endpoints Summary...

  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=OELHost)(PORT=1521)))

The listener supports no services

The command completed successfully //说明监听器已经启动成功。

LSNRCTL>

 

 

3、查看监听器启动之后的状态。

LSNRCTL> status

Connecting to

 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=OELHost)(PORT=1521)))

STATUS of the LISTENER

------------------------

Alias                     LISTENER

Version                   TNSLSNR for Linux: Version 11.2.0.1.0 - Production

Start Date                30-JAN-2015 21:29:21

Uptime                    0 days 0 hr. 2 min. 49 sec

Trace Level               off

Security                  ON: Local OS Authentication

SNMP                      OFF

Listener Parameter File   /u01/oracle/network/admin/listener.ora

Listener Log File         /u01/diag/tnslsnr/OELHost/listener/alert/log.xml

Listening Endpoints Summary...

  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=OELHost)(PORT=1521)))

Services Summary...

Service "Instance01XDB" has 1 instance(s).

  Instance "Instance01", status READY, has 1 handler(s) for this service...

Service "orclDb01" has 1 instance(s).

  Instance "Instance01", status READY, has 1 handler(s) for this service...

The command completed successfully

//通过再次验证,说明监听器已经启动成功。

LSNRCTL>

 

 

4、再次通过远程客户端连接Oracle数据库,此时就可以成功连接。


------------------The End Of Story--------------------

By zjrodger

读者如要转载,请标明出处和作者名,谢谢。 
地址01:http://space.itpub.net/25851087 
地址02:http://www.cnblogs.com/zjrodger/ 
地址03:http://blog.csdn.net/zjrodger

作者名:zjrodger 

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/25851087/viewspace-1421509/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2013-04-14

  • 博文量
    42
  • 访问量
    560122