欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

记一次oracle数据库远程连接失败的解决过程

程序员文章站 2022-03-06 21:16:40
...

今天在连接远程oracle数据库的时候碰到了一个问题,花了点时间去解决,所以记录一下,怕自己下次再遇到又需要花好长时间。

公司在某台windows服务器上安装了Oracle数据库,防火墙的入站出站规则已经配置完(入站出站规则配置网上有很多教程),本地的1521端口用telnet也是能通的,然而即便是局域网内,也无法telnet通该服务器的1521端口。

一开始以为会不会是入站出站规则配置有问题导致的,仔细检查后发现没有问题,然后想到是否要修改hosts文件,尝试修改后依然无法访问,说明与hosts文件无关。查阅了蛮多资料,最后修改了oracle安装路径(…\product\11.2.0\dbhome_1\NETWORK\ADMIN)下的 listener.ora 文件,由:

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    )
  )

改成了:

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
      (ADDRESS = (PROTOCOL = TCP)(HOST = 0.0.0.0)(PORT = 1521))
    )
  )

修改了HOST,然后重启oracle数据库,再次尝试访问,成功!



这里碰到了一个小插曲,别的同事连接的时候正常,我连接时提示我 ORA-12638:身份证明检索失败,这个问题的解决方式是修改远程数据库 listener.ora 同一级下的 sqlnet.ora 文件,将:

SQLNET.AUTHENTICATION_SERVICES= (NTS)

改为:

SQLNET.AUTHENTICATION_SERVICES= (BEQ, NONE)

修改完再重启一下oracle数据库,连接,成功!

相关标签: Oracle