与Oracle数据库的连接非常慢,需要20-30秒才能打开

与Oracle数据库的连接非常慢,需要20-30秒才能打开,oracle,oracle11g,Oracle,Oracle11g,当打开VB应用程序时,它指向Oracle数据库,需要20-30秒才能打开。Oracle 11.2安装在本地服务器上,我正在同一个域的客户端上启动该应用程序 我怀疑这是Oracle连接问题(可能与listener或tns有关),因为当我们打开应用程序,它指向SQL数据库时,它会立即打开 我尝试了列表器的以下设置,但没有帮助 SQLNET.AUTHENTICATION\u SERVICES=(无) name.DIRECTORY_PATH=(TNSNAMES,EZCONNECT) 你知道为什么要花这么

当打开VB应用程序时,它指向Oracle数据库,需要20-30秒才能打开。Oracle 11.2安装在本地服务器上,我正在同一个域的客户端上启动该应用程序

我怀疑这是Oracle连接问题(可能与listener或tns有关),因为当我们打开应用程序,它指向SQL数据库时,它会立即打开

我尝试了列表器的以下设置,但没有帮助

SQLNET.AUTHENTICATION\u SERVICES=(无) name.DIRECTORY_PATH=(TNSNAMES,EZCONNECT)

你知道为什么要花这么长时间吗?或者我能试着让它更快地连接和打开吗


感谢

感谢@kfinity和@TenH,这看起来是一个DNS问题

为了解决这个问题,我做了如下工作:

  • 在我的客户端上转到C:\Windows\System32\drivers\etc\hosts
  • 在此处插入我的服务器名称和服务器IP并保存

瞧。TNSping在10毫秒后返回,而不是22000毫秒:)

如果从同一台机器连接sql*plus,它是否具有相同的延迟,或者它只是VB?从(不完整的)内存。。。。。Oracle DB server从11g开始查找传入连接的IP地址,并使用DNS解析这些地址。如果您没有internet或Oracle服务器无法访问DNS,则此步骤会超时,这就是为什么会出现30秒延迟的原因。检查ORacle服务器上的本地网络配置,@kfinity实际上,当我进行tnsping时,也需要20秒。@TenG我们可以在本地PC(客户端)和服务器上访问internet。Oracle服务器是为DNS设置的,因为它有自己的服务器名,据我所知,所有Oracle文件/连接都使用此服务器名,而不是IP地址。您注意到tnsping受到20秒延迟的影响,这也表明DNS存在问题。通常resolve.conf中引用的DNS服务器已关闭或无法访问。我记不起如何禁用此查找。其他关键文件是/etc/resolv.conf和/etc/netsvc.conf,并检查listner是否绑定到IPV6或IPV4地址(我建议V4更容易)。如果没有16级客户端跟踪,我就说不出更多了。