DNS导致数据库登录缓慢的问题解决

Normal 0 7.8 磅 0 2 false false false EN-US ZH-CN X-NONE 今天远程支持了下同事处理一个故障

某运营商的一个IT管理系统,AIX平台,数据库登录缓慢,包括sqlplus本机sysdba登录也及其缓慢,大概要1分钟以上才能登录

 

进行了如下测试

1.    由于没走监听,那肯定和监听也没有关系了

2.    sqlplus登录,看到进程立刻就产生了服务器进程,但是在数据库里面查询v$process,没有该进程

3.    等待一段时间后,可以从v$process中观察到该进程,但是仍然没有登录进去。这时查看v$session,没有异常等待

 

感觉可能和主机配置相关,那么truss了下sqlplus登录过程,并且和一台正常的机器的sqlplus登录的truss跟踪文件比对,发现主要慢在如下地方,进程多次请求socket,然后sleep

[11:10:35]176296: socket(2, 2, 0)                                 = 8

[11:10:35]176296: getsockopt(8, 65535, 4104, 0x0FFFFFFFFFFF70D4, 0x0FFFFFFFFFFF70D0) = 0

[11:10:35]176296: connext(8, 0x09001000A0022A68, 16)              = 0

[11:10:35]176296: _esend(8, 0x0FFFFFFFFFFF7FE0, 23, 0, 0x0000000000000000) = 23

[11:10:35]176296: _poll(0x0FFFFFFFFFFF71A0, 1, 5000)              = 1

[11:10:35]176296: _enrecvfrom(8, 0x0FFFFFFFFFFF9310, 1024, 0, 0x0FFFFFFFFFFF7960, 0x0FFFFFFFFFFF7188, 0x0000000000000000) = 23

[11:10:35]176296: close(8)                                        = 0

[11:10:35]176296: socket(2, 2, 0)                                 = 8

[11:10:35]176296: _esendto(8, 0x0FFFFFFFFFFF7FE0, 23, 0, 0x09001000A0022A78, 16, 0x0000000000000000) = 23

[11:10:36]90574:  kread(8, "\0 E\0\006\0\0\0\0\002 g".., 2064) (sleeping...)

[11:10:36]176296: _poll(0x0FFFFFFFFFFF71A0, 1, 5000) (sleeping...)

[11:10:39]176296: _poll(0x0FFFFFFFFFFF71A0, 1, 5000)              = 0

[11:10:39]176296: close(8)                                        = 0

[11:10:39]176296: socket(2, 2, 0)                                 = 8

[11:10:39]176296: _esendto(8, 0x0FFFFFFFFFFF7FE0, 23, 0, 0x09001000A0022A78, 16, 0x0000000000000000) = 23

[11:10:42]176296: _poll(0x0FFFFFFFFFFF71A0, 1, 5000) (sleeping...)

[11:10:44]176296: _poll(0x0FFFFFFFFFFF71A0, 1, 5000)              = 0

[11:10:44]176296: close(8)                                        = 0

[11:10:44]176296: socket(2, 2, 0)                                 = 8

[11:10:44]176296: _esendto(8, 0x0FFFFFFFFFFF7FE0, 23, 0, 0x09001000A0022A78, 16, 0x0000000000000000) = 23

[11:10:46]176296: _poll(0x0FFFFFFFFFFF71A0, 1, 10000) (sleeping...)

[11:10:54]176296: _poll(0x0FFFFFFFFFFF71A0, 1, 10000)             = 0

[11:10:54]176296: close(8)                                        = 0

[11:10:54]176296: socket(2, 2, 0)                                 = 8

[11:10:54]176296: _esendto(8, 0x0FFFFFFFFFFF7FE0, 23, 0, 0x09001000A0022A78, 16, 0x0000000000000000) = 23

[11:10:57]176296: _poll(0x0FFFFFFFFFFF71A0, 1, 20000) (sleeping...)

[11:11:15]176296: _poll(0x0FFFFFFFFFFF71A0, 1, 20000)             = 0

[11:11:15]176296: close(8)                                        = 0

 

马上感觉是网络配置问题,尝试ping主机名,要等待很久后才开始ping,但是ping IP地址就很快

 

难道是DNS解析有问题?但是ping无法truss。立刻重新阅读sqlplustruss文件

发现故障机器多读了个/etc/resolv.conf,也就是设置DNS服务器的文件。而其他机器都没得该文件

立马想到了LINUX下,ftp的反向解析的问题。

 

让现场工程师和客户确认能否删除下该文件

确认可以删除测试后,删除该文件测试,sqlplus飞速登录,ping主机名也一切正常

 

DNS的问题我就不知道,反正问题解决了,有空在研究。

sqlplus本地登录的机制,也可以再研究下

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/8242091/viewspace-751225/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/8242091/viewspace-751225/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
DNS(Domain Name System)是域名系统的英文缩写,它是一个能够将域名转换为IP地址的分布式数据库系统。当我们在浏览器中输入一个域名时,浏览器DNS服务器发送一个DNS解析请求,以获取该域名对应的IP地址。 当我们在浏览器中遇到"DNS Probe Started"这个错误时,意味着浏览器无法成功完成DNS解析。这可能是由于多种原因引起的。 首先,可能是由于网络连接问题导致的无法访问DNS服务器。这可能是由于网络配置问题、网络故障或者DNS服务器宕机等原因造成的。如果是这种情况,我们可以尝试重新连接网络或者联系网络服务提供商来获取帮助。 其次,可能是由于DNS缓存问题导致的。DNS解析结果被缓存在计算机的DNS缓存中,以提高后续的访问速度。然而,如果缓存中存在错误或者过期的解析结果,就导致DNS解析失败。在这种情况下,我们可以尝试清除计算机的DNS缓存,以使得浏览器重新进行DNS解析。 另外,也有可能是由于浏览器的插件或者防火墙设置的问题导致DNS解析失败。有些插件可能干扰DNS解析的过程,或者防火墙设置可能禁止访问某些特定的DNS服务器。在这种情况下,我们可以尝试临时禁用插件或者重新配置防火墙,以解决DNS解析问题。 总之,当我们遇到"DNS Probe Started"错误时,我们可以通过检查网络连接、清除DNS缓存、禁用插件或者重新配置防火墙等方法来解决这个问题。如果问题仍然存在,我们可以联系网络服务提供商或者寻求专业的技术支持来获得更多的帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值