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

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

WBOY
WBOYOriginal
2016-06-07 17:23:501228Durchsuche

很多人在学习Oracle数据库时,都会遇到Oracle监听配置相关问题,客户终端(Client)无法连接服务器端(Server)。本文现对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客户端连接服务器端常见的一些问题,当然不能囊括所有的连接异常。解决问题的关键在于方法与思路,而不是每种问题都有固定的答案。

linux

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn