Oracle监听器出现的6种连接问题及其解决方法

数据库 Oracle
文章从最浅显处开始,介绍了什么是Oracle监听器及其有关的本地服务名的概念和用途,然后列举了客户端与服务器端的连接问题以其对应的解决方法。

很多人在学习Oracle数据库时,都会遇到Oracle监听配置相关问题,客户终端(Client)无法连接服务器端(Server)。本文现对Oracle监听配置作一简单介绍,并提出一些客户终端无法连接服务器端的解决思路,愿对读者有一些帮助。
 
一、Oracle监听器(LISTENER)

Oracle监听器是Oracle基于服务器端的一种网络服务,主要用于监听客户端向数据库服务器端提出的连接请求。既然是基于服务器端的服务,那么它也只存在于数据库服务器端,进行Oracle监听器的设置也是在数据库服务器端完成的。
 
二、本地服务名(Tnsname)

Oracle客户端与服务器端的连接是通过客户端发出连接请求,由服务器端Oracle监听器对客户端连接请求进行合法检查,如果连接请求有效,则进行连接,否则拒绝该连接。本地服务名是Oracle客户端网络配置的一种,另外还有Oracle名字服务器(Oracle Names Server)等。Oracle常用的客户端配置就是采用的本地服务名,本文中介绍的也主要是基于本地服务名的配置。

三、常见的连接问题

要排除客户端与服务器端的连接问题,首先检查客户端配置是否正确(客户端配置必须与数据库服务器端监听配置一致),再根据错误提示解决。

1、 ORA-12541: TNS: 没有Oracle监听器
显而易见,服务器端的监听器没有启动,另外检查客户端IP地址或端口填写是否正确。启动监听器:$ lsnrctl start或C:\lsnrctl start

2、 ORA-12500: TNS: Oracle监听程序无法启动专用服务器进程
对于Windows而言,没有启动Oracle实例服务。启动实例服务:C:\oradim –startup -sid myoracle

3、 ORA-12535: TNS: 操作超时
出现这个问题的原因很多,但主要跟网络有关。解决这个问题,首先检查客户端与服务端的网络是否畅通,如果网络连通,则检查两端的防火墙是否阻挡了连接。

4、 ORA-12154: TNS: 无法处理服务名
检查输入的服务名与配置的服务名是否一致。另外注意生成的本地服务名文件(Windows下如D:\oracle\ora92\network\admin\tnsnames.ora,Linux/Unix下$ORACLE_HOME/network/admin/tnsnames.ora)里每项服务的首行服务名称前不能有空格。

5、 ORA-12514: TNS: Oracle监听进程不能解析在连接描述符中给出的 SERVICE_NAME
打开Net Manager,选中服务名称,检查服务标识栏里的服务名输入是否正确。该服务名必须与服务器端Oracle监听器配置的全局数据库名一致。

6、 Windows下启动Oracle监听服务提示找不到路径
用命令或在服务窗口中启动监听提示找不到路径,或Oracle监听服务启动异常。打开注册表,进入HKEY_LOCAL_MACHINE/SYSTEM/Current
ControlSet/Services/OracleOraHome92TNSListener项,查看ImagePath字符串项是否存在,如果没有,设定值为D:\oracle\ora92\BIN\TNSLSNR,不同的安装路径设定值做相应的更改。这种方法同样适用于Oracle实例服务,同上,找到如同HKEY_LOCAL_MACHINE/SYSTEM/Current ControlSet/Services/Oracle ServiceMYORACLE项,查看ImagePath字符串项是否存在,如果没有,则新建,设定值为d:\oracle\ora92\binORACLE.EXE MYORACLE。

以上是Oracle客户端连接服务器端常见的一些问题,当然不能囊括所有的连接异常。解决问题的关键在于方法与思路,而不是每种问题都有固定的答案。

【编辑推荐】

  1. Oracle监听器安装和配置的具体方法浅析
  2. 探讨怎样回收Oracle监听器日志文件
  3. Oracle监听器,让你监听想要的东东
  4. 保护RHEL4 Oracle监听器的十一个秘诀
  5. 浅析Oracle监听器安装与配置
责任编辑:王婧瑶 来源: 互联网
相关推荐

2010-04-23 18:00:31

2011-03-21 16:21:49

Oracle监听口令监听器

2010-11-16 16:07:32

oracle用户连接

2010-04-22 09:52:28

Oracle监听器

2009-11-18 18:28:27

Oracle监听器

2023-01-06 08:55:00

2010-04-23 10:13:18

Oracle监听

2009-01-03 13:37:26

Oracle监听器Oracle服务器Oracle网络配置

2010-11-19 11:57:15

Oracle密码丢失

2023-04-06 15:21:34

IIoT自动化

2011-07-04 13:39:32

注册表监听器

2010-11-19 13:48:18

2010-04-21 17:09:28

Oracle启动模式

2010-04-19 15:38:10

2009-07-08 17:39:23

Servlet监听器

2009-07-09 17:26:45

Tomcat jvm.

2010-06-17 11:17:34

装系统出现Grub

2009-02-18 12:46:00

2009-02-18 10:25:00

IPv6部署

2010-04-20 16:46:41

Oracle数据库密码
点赞
收藏

51CTO技术栈公众号