C 长时间连接oracle,oracle sqlplus 长时间无响应 连接时间长

今天本人在一台新的服务器上,使用sqlplus命令时,连接时间特别长。

[oracle@DXT-APP-2 ~]$ sqlplus

# 输入以上命令后,等待了将近10~30秒,才出现下面的内容

SQL*Plus: Release 11.2.0.1.0 Production on Wed Jul 1 15:09:22

2015

Copyright (c) 1982, 2009, Oracle. All rights

reserved.

Enter user-name:

我使用了strace命令,看了一下问题可能存在的原因:

[oracle@DXT-APP-2 ~]$ strace sqlplus

。。。。。。

connect(8, {sa_family=AF_INET, sin_port=htons(53),

sin_addr=inet_addr("192.168.167.1")}, 28) = 0

fcntl(8,

F_GETFL) = 0x2 (flags O_RDWR)

fcntl(8, F_SETFL,

O_RDWR|O_NONBLOCK) = 0

poll([{fd=8, events=POLLOUT}], 1,

0) = 1

([{fd=8, revents=POLLOUT}])

sendto(8, "\303\34\1\0\0\1\0\0\0\0\0\0\tDXT-APP-2\vlocaldoma"...,

39, MSG_NOSIGNAL, NULL, 0) = 39

poll([{fd=8, events=POLLIN}], 1, 5000) = 0

(Timeout)

# 命令在上面的内容,停留了几秒钟,继续显示下面的内容。

poll([{fd=8, events=POLLOUT}], 1,

0) = 1

([{fd=8, revents=POLLOUT}])

sendto(8, "\303\34\1\0\0\1\0\0\0\0\0\0\tDXT-APP-2\vlocaldoma"...,

39, MSG_NOSIGNAL, NULL, 0) = 39

poll([{fd=8, events=POLLIN}], 1, 5000) = 0

(Timeout)

close(8) = 0

。。。。。。

fstat(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 2), ...}) =

0

mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS,

-1, 0) = 0x2aead40d8000

write(1, "\n", 1

) = 1

write(1, "SQL*Plus: Release 11.2.0.1.0 Pro"..., 67SQL*Plus: Release

11.2.0.1.0 Production on Wed Jul 1 14:17:29 2015

) = 67

write(1, "\n", 1

) = 1

write(1, "Copyright (c) 1982, 2009, Oracle"..., 56Copyright (c)

1982, 2009, Oracle. All rights reserved.

) = 56

write(1, "\n", 1

) = 1

lseek(4, 4608,

SEEK_SET) = 4608

上面的内容,具体的意思我不是非常清楚。但是,在调试内容中,出现了一个IP地址:192.168.167.1。因此,我查找了一下系统的配置文件,发现在/etc/resolv.conf文件中,含有一条含有此地址的信息:

[root@DXT-APP-2 etc]# cat /etc/resolv.conf

search localdomain

nameserver 192.168.167.1

我百度了一下,发现有以下对于/etc/resolv.conf与sqlplus关系的说明:

我们的服务器上配置了名字解析服务器nameserver,但是配置的地址是错误的,或者是不可用的。oracle11g后,如果配置了nameserver,那么oracle就要先验证nameserver,失败超时之后,才会用别的办法连接,超时时间就是十几秒到30秒左右。

在linux环境下,可以将/etc/resolv.conf中的nameserver信息注释掉就可以了。

我注释了此文件中的nameserver:

[root@DXT-APP-2 etc]# cat /etc/resolv.conf

search localdomain

#nameserver 192.168.167.1

然后,再次使用sqlplus命令:

[oracle@DXT-APP-2 ~]$ sqlplus

SQL*Plus: Release 11.2.0.1.0 Production on Wed Jul 1 14:19:39

2015

Copyright (c) 1982, 2009, Oracle. All rights

reserved.

Enter user-name:

就很快连接上去了。

Jesus love you!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值