Oracle因为DNS无法访问导致的连接缓慢问题
有台服务器突然在重启后无法启动tomcat项目,看日志是连接数据库超时,使用命令行访问带实例名如下
conn user/pwd@orcl
等待很久才能连接的上,但去掉实例名后可以秒连,咨询过开发,说是JAVA项目的JDBC的连接必须含有实例名才可以访问,所以还是得继续找解决办法。
百度了很久看到一条信息说是DNS无法访问可能导致oracle连接缓慢,换了一条可以用的DNS后果然恢复正常。
按照百度资料中的说明如下 (原文地址:https://blog.csdn.net/as1123671649/article/details/132062993):
oracle 11.2.0.1版本的listener解析主机名优先选择从DNS解析,然后才会尝试从hosts文件解析。当/etc/resolv.conf文件不存在时会从/etc/hosts解析,当DNS服务器地址无法访问
时,会出现数据库建立连接缓慢的问题,一旦DNS服务器本身解析的问题导致找不到ip时,listener就会响应延迟或者hang住。可以通过移除/etc/resolv.conf文件或者在文件中设置超时时间
echo “options timeout:1” >> /etc/resolv.conf 来解决。
修改后测试连接会稍微慢一点点但服务已经可以正常启动了,非互联网环境可以直接删除/etc/resolv.conf文件。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 AJian的小站!