sqlplus连接半天才连上

问题现象:


 某oracle数据库服务器发现使用ssh,crt连接半天1-2分钟后才返回输入密码的提示,应用人员发现使用 sys_GUID()函数获取唯一值的时候,第一次调用需要等待很长时间,但是同一session后续的调用就完全正常。(客户报告系统程序执行sys_guid系统函数,返回缓慢,需要将近一分钟才能返回。)

分析:


1、经过分析发现,登录操作系统时,登录过程需要1分钟左右,运行sqlplus命令登录数据库需要大概1分钟,执行sys_guid函数同样发现运行缓慢。

2、执行sqlplus的时候运行pstack命令,观察程序的运行堆栈,分析具体的原因。

[root@DB-PRIMARY ~]# pstack 8148

#0  0x00007fb9617fbef0 in __poll_nocancel () from /lib64/libc.so.6

#1  0x00007fb961adec92 in __res_context_send () from /lib64/libresolv.so.2

#2  0x00007fb961adc0f4 in __res_context_query () from /lib64/libresolv.so.2

#3  0x00007fb961adce0c in __res_context_search () from /lib64/libresolv.so.2

#4  0x00007fb960a73218 in gethostbyname3_context () from /lib64/libnss_dns.so.2

#5  0x00007fb960a73c6a in _nss_dns_gethostbyname_r () from /lib64/libnss_dns.so.2

#6  0x00007fb961821fdf in gethostbyname_r@@GLIBC_2.2.5 () from /lib64/libc.so.6

#7  0x00007fb9617fe044 in gethostid () from /lib64/libc.so.6

#8  0x00007fb9643da553 in snlrn () from /u01/app/oracle/product/12.2.0.1/db_1/lib/libclntsh.so.12.1

#9  0x00007fb9643da4af in nlrnini () from /u01/app/oracle/product/12.2.0.1/db_1/lib/libclntsh.so.12.1

#10 0x00007fb9643da3f4 in nlrngr () from /u01/app/oracle/product/12.2.0.1/db_1/lib/libclntsh.so.12.1

3、   经过分析发现是在进行dns相关解析的程序中反复超时,所致,后经过检查系统dns设置,发现其中配置的dnsip是不通的,取消dns后,系统完全恢复正常。

结论:


系统的dns无效设置,造成这一延迟现象。

猜你喜欢

转载自www.cnblogs.com/simple-oracle/p/10708857.html