strace解決sqlplus登陸緩慢的問題一例
strace -T -t -o /tmp/nohost sqlplus / as sysdba
檢視/tmp/nohost內容,此處省略部分內容
- 10:05:39 munmap(0x7fb66c71c000, 404774) = 0 <0.000082>
- 10:05:39 socket(PF_INET, SOCK_DGRAM|SOCK_NONBLOCK, IPPROTO_IP) = 9 <0.000094>
- 10:05:39 connect(9, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("221.228.255.1")}, 16) = 0 <0.000076>
- 10:05:39 poll([{fd=9, events=POLLOUT}], 1, 0) = 1 ([{fd=9, revents=POLLOUT}]) <0.000061>
- 10:05:39 sendto(9, "\23\232\1\0\0\1\0\0\0\0\0\0\5test8\0\0\1\0\1", 23, MSG_NOSIGNAL, NULL, 0) = 23 <0.000201>
- 10:05:39 poll([{fd=9, events=POLLIN|POLLOUT}], 1, 5000) = 1 ([{fd=9, revents=POLLOUT}]) <0.000062>
- 10:05:39 sendto(9, "\3d\1\0\0\1\0\0\0\0\0\0\5test8\0\0\34\0\1", 23, MSG_NOSIGNAL, NULL, 0) = 23 <0.000098>
- 10:05:39 poll([{fd=9, events=POLLIN}], 1, 4998) = 1 ([{fd=9, revents=POLLIN}]) <0.006345>
- 10:05:39 ioctl(9, FIONREAD, [39]) = 0 <0.000063>
- 10:05:39 recvfrom(9, "\23\232\201\200\0\1\0\1\0\0\0\0\5test8\0\0\1\0\1\300\f\0\1\0\1\0\0\0"..., 2048, 0, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("221.228.255.1")}, [16]) = 39 <0.000096>
- 10:05:39 poll([{fd=9, events=POLLIN}], 1, 4991) = 0 (Timeout) <4.996143>
- 10:05:44 poll([{fd=9, events=POLLOUT}], 1, 0) = 1 ([{fd=9, revents=POLLOUT}]) <0.000100>
- 10:05:44 sendto(9, "\23\232\1\0\0\1\0\0\0\0\0\0\5test8\0\0\1\0\1", 23, MSG_NOSIGNAL, NULL, 0) = 23 <0.000198>
- 10:05:44 poll([{fd=9, events=POLLIN}], 1, 5000) = 1 ([{fd=9, revents=POLLIN}]) <0.006851>
- 10:05:44 ioctl(9, FIONREAD, [39]) = 0 <0.000151>
- 10:05:44 recvfrom(9, "\23\232\201\200\0\1\0\1\0\0\0\0\5test8\0\0\1\0\1\300\f\0\1\0\1\0\0\0"..., 2048, 0, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("221.228.255.1")}, [16]) = 39 <0.000107>
- 10:05:44 poll([{fd=9, events=POLLOUT}], 1, 4990) = 1 ([{fd=9, revents=POLLOUT}]) <0.000088>
- 10:05:44 sendto(9, "\3d\1\0\0\1\0\0\0\0\0\0\5test8\0\0\34\0\1", 23, MSG_NOSIGNAL, NULL, 0) = 23 <0.000120>
- 10:05:44 poll([{fd=9, events=POLLIN}], 1, 4990) = 1 ([{fd=9, revents=POLLIN}]) <0.008139>
- 10:05:44 ioctl(9, FIONREAD, [98]) = 0 <0.000074>
- 10:05:44 recvfrom(9, "\3d\201\203\0\1\0\0\0\1\0\0\5test8\0\0\34\0\1\0\0\6\0\1\0\0\35\17"..., 2009, 0, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("221.228.255.1")}, [16]) = 98 <0.000084>
- 10:05:44 close(9) = 0 <0.000143>
- 10:05:44 open("/etc/hostid", O_RDONLY) = -1 ENOENT (No such file or directory) <0.000095>
-
10:05:44 uname({sys="Linux", node="test8", ...}) = 0 <0.000061>
問題已經浮出水面了,耗時最長的一步是
而且卡在此處足足有5s,而且最終超時,根據上下文判斷,此處是一個socket連線,而且還涉及到dns伺服器的地址,由此推斷應該和解析有關
檢視/etc/resolv.conf
可見配置了dns,其實我將dns註釋掉之後sqlplus就恢復了正常,但dns不應該成為導致此問題的根本原因,此處明顯是去dns上解析本機了
再來看/etc/hosts
再重新查閱了hosts的正確配置之後發現我的hosts配置方法是錯誤的
我的主機名是test8,在我測試郵件的時候,為了騙過郵件伺服器,我把hosts裡解析隨意加了個域名,卻從未正式瞭解過hosts的配置方法,現在正確配置一下
再測試sqlplus,已經恢復正常 - 10:05:39 poll([{fd=9, events=POLLIN}], 1, 4991) = 0 (Timeout) <4.996143>
-
- [root@test8 etc]# cat /etc/resolv.conf
- # Generated by NetworkManager
- #nameserver 221.228.255.1
- nameserver 221.228.255.1
- nameserver 218.2.135.1
-
- [root@test8 etc]# cat /etc/hosts
- 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
- ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
- 192.168.1.8 test8.com
- 192.168.1.29 oem.oracle.com
-
- 格式:
- 一般情況下hosts的內容關於主機名(hostname)的定義,每行為一個主機,每行由三部份組成,每個部份由空格隔開。其中#號開頭的行做說明,不被系統解釋。
- 第一部份:網路IP地址;
- 第二部份:主機名.域名,注意主機名和域名之間有個半形的點,比如 localhost.localdomain
- 第二部份:主機名(主機名別名) ,其實就是主機名;
-
- [root@test8 etc]# cat /etc/hosts
- 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
- ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
- 192.168.1.8 test8.com test8
- 192.168.1.29 oem.oracle.com
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30166976/viewspace-2682096/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- aix 遠端登陸緩慢問題AI
- DNS導致資料庫登入緩慢的問題解決DNS資料庫
- 使用strace診斷奇怪的sqlplus登入問題SQL
- 解決 macOS HomeBrew 下載緩慢的問題Mac
- 解決ssh登入慢的問題
- 登陸sqlplus出現問號的問題SQL
- 由Linux核心bug引起SSH登入緩慢問題的排查與解決Linux
- 解決csdn登陸複製的問題
- [20210518]ssh ip登入緩慢問題解決.txt
- ssh登入慢問題解決方法
- 生產內網ssh登陸變慢問題原因及解決辦法內網
- Oracle EXPDP自動備份緩慢問題解決Oracle
- 輕鬆解決Github連線緩慢、圖裂問題Github
- 解決Mysql中只能通過localhost登陸不能通過ip登陸的問題MySqllocalhost
- 解決Xmanager登陸介面亂碼問題的方法 [轉]
- sqlplus 登入時快時慢問題診斷SQL
- 兩行命令解決 Windows 下 Homestead 執行緩慢的問題Windows
- 解決Gradle下載緩慢的問題,將-bin改為-allGradle
- solaris修改root shell後無法登陸的問題解決
- vue-router懶載入速度緩慢問題及解決方法Vue
- 討論TableLayoutPanel載入緩慢和閃爍問題解決方案
- 解決github訪問慢的問題Github
- 解決VScode下載外掛十分緩慢的問題VSCode
- keycloak整合微信登陸~解決國內微信整合的問題
- 解決Jira和Confluence訪問開啟越來越緩慢問題
- sqlplus登陸方式SQL
- WEB應用訪問緩慢的問題定位Web
- DRM引起的問題解決一例
- 解決記錄日誌導致VS2013緩慢的問題
- GitHub無法訪問或訪問緩慢解決辦法Github
- 【問題處理】“sqlplus / as sysdba”無法登陸——多餘的斜槓!SQL
- banq大哥------只有你才能解決的登陸問題
- Laravel 6 ignition 解決 Class 'xxx' not found 載入緩慢問題Laravel
- 【LISTENER】使用“alter system register;”解決動態監聽註冊緩慢問題
- 中國起草工資條例解決工資增長緩慢等問題
- 並行查詢緩慢的問題分析並行
- 解決set newname 極慢的問題
- 關於onethink移植後登陸不了後臺問題的解決