为什么oracle连接在mac os上打开得这么慢?

为什么oracle连接在mac os上打开得这么慢?,oracle,macos,docker,database-connection,Oracle,Macos,Docker,Database Connection,我使用oracle-xe-11g映像在Docker上工作。当我通过ssh连接到Docker容器时,连接会立即建立。但当我想使用localhost:49162(端口被转发到容器的1521)连接到oracle数据库时,打开每个连接大约需要15-25秒 无论我使用JDBC连接还是SQLDeveloper。 我读到这个问题可能与DNS解析有关,但我无法找到任何充分的解决方案 我的主机文件: 我的决议: 系统版本: macOS Sierra 10.12.3 有人遇到过类似的问题吗?在我的情况下,当我遵循

我使用oracle-xe-11g映像在Docker上工作。当我通过ssh连接到Docker容器时,连接会立即建立。但当我想使用localhost:49162(端口被转发到容器的1521)连接到oracle数据库时,打开每个连接大约需要15-25秒

无论我使用JDBC连接还是SQLDeveloper。 我读到这个问题可能与DNS解析有关,但我无法找到任何充分的解决方案

我的主机文件: 我的决议: 系统版本: macOS Sierra 10.12.3


有人遇到过类似的问题吗?

在我的情况下,当我遵循问题中提到的方法时,尤其是当我将mac的
/etc/hosts
的第一行更改为:

127.0.0.1   localhost
致:

127.0.0.1   localhost Muhammads-MacBook-Pro.local
其中Muhammads MacBook Pro.local是命令
hostname


然后它工作得很好。

如果改为使用telnet localhost 49162会发生什么?唯一直接的想法是Docker上的侦听器正在尝试从传入连接执行反向DNS查找,这可能会很慢/超时。侦听器日志中是否有相关内容?您能看到v$会话中报告的源IP(可能是本地主机,但隧道可能会将其合并)并尝试从Docker命令行中查找它吗?telnet localhost 49162 Trying::1。。。已连接到本地主机。转义字符是“^]”。是的,但是。。。这是快还是慢?很快,很快。在v$会话中,我找不到任何IP地址,只有设置为本地主机名的机器列。此外,我已经将主机名添加到DNS搜索域,这完全解决了我的问题!
127.0.0.1   localhost
127.0.0.1   localhost Muhammads-MacBook-Pro.local