oracle数据库连接错误

来源:互联网 发布:nginx 反向代理 iis 编辑:程序博客网 时间:2024/04/30 20:20

    安装完数据库后,接着应该进行两个重要的配置工作,即监听程序配置和本地服务名配置,下面是对他们简单介绍

       1、监听器(LISTENER)

  监听器是Oracle基于服务器端的一种网络服务,主要用于监听客户端向数据库服务器端提出的连接请求。既然是基于服务器端的服务,那么它也只存在于数据库服务器端,进行监听器的设置也是在数据库服务器端完成的。配置文件名: listener.ora , 存放路径:$ORACLE_HOME/network/admin

  

  2、本地服务名(Tnsname)

  Oracle客户端与服务器端的连接是通过客户端发出连接请求,由服务器端监听器对客户端连接请求进行合法检查,如果连接请求有效,则进行连接,否则拒绝该连接。配置文件名: tnsnames.ora , 存放路径:$ORACLE_HOME/network/admin

  本地服务名是Oracle客户端网络配置的一种,另外还有Oracle名字服务器(Oracle Names Server)等。Oracle常用的客户端配置就是采用的本地服务名,本文中介绍的也主要是基于本地服务名的配置。

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

  1、 ORA-12541: TNS: 没有监听器:

  显而易见,服务器端的监听器没有启动,另外检查客户端IP地址或端口填写是否正确。启动监听器:

  $ lsnrctl start或C:/lsnrctl start。

  2、 ORA-12500: TNS: 监听程序无法启动专用服务器进程:

  对于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: 监听进程不能解析在连接描述符中给出的 SERVICE_NAME打开Net Manager,选中服务名称,检查服务标识栏里的服务名输入是否正确。该服务名必须与服务器端监听器配置的全局数据库名一致。

  6、 Windows下启动监听服务提示找不到路径:

  用 命令或在服务窗口中启动监听提示找不到路径,或监听服务启动异常。打开注册表,进入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客户端连接服务器端常见的一些问题,当然不能囊括所有的连接异常。解决问题的关键在于方法与思路,而不是每种问题都有固定的答案。 

原创粉丝点击