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
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值