oracle 10g 出现Fatal NI connect error 12170错误

来源:互联网 发布:三网合一cms 编辑:程序博客网 时间:2024/05/16 18:54

这是使用exp命令出现的错误原文:

VERSION INFORMATION:
TNS for 32-bit Windows: Version 10.2.0.1.0 - Production
Windows NT TCP/IP NT Protocol Adapter for 32-bit Windows: Version 10.2.0.1.0 - Production
  Time: 02-10月-2017 14:48:55
  Tracing not turned on.
  Tns error struct:
    ns main err code: 12535
    TNS-12535: TNS: 操作超时
    ns secondary err code: 12560
    nt main err code: 505
    TNS-00505: 操作超时
    nt secondary err code: 60
    nt OS err code: 0
  Client address: <unknown>

在程序段提示的错误是:

12170:连接超时


系统的环境的是Window server 2008R2,数据库oracle 10g,程序端是.NET 服务程序,另外我的数据库和程序端运行代码是放在同一个服务器上的。网上找了好多方法,这是仅仅介绍最终解决我的问题的方法。

这个问题是由监听程序异常引起的,在服务端输入cmd ,输入lsnrctl,(lsnrctl监听管理程序)查看监听状态,输入status,查看监听状态,正常的状态应该是:


如果是客户端,可以是tnsping 这个命令来查看监听程序是否正常,我这里是服务器和客户端是在同一台机器上。

解决方法:

修改了4个文件,服务器端的listener.ora、tnsnames.ora 文件,在oracle\product\10.2.0\db_1\network\ADMIN文件下,

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = WINJWC)(PORT = 1521))
    )
  )

把两个文件中的HOST值全都改成主机名,之前是IP地址。

同理修改客户端的listener.ora、tnsnames.ora 文件,在oracle\product\10.2.0\client_1\NETWORK\ADMIN文件夹下。

修改完成后,在lsnrctl中使用命令stop、start重启监听服务。问题解决。





原创粉丝点击