OS臨時埠耗盡導致無法建立資料庫連線
1. 報錯資訊
zhjs3$[/home/oracle]lsnrctl status
LSNRCTL for IBM/AIX RISC System/6000: Version 11.2.0.3.0 - Production on 16-JAN-2013 16:12:43
Copyright (c) 1991, 2011, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=133.37.253.82)(PORT=1521))) TNS-12547: TNS:lost contact TNS-12560: TNS:protocol adapter error TNS-00517: Lost contact IBM/AIX RISC System/6000 Error: 32: Broken pipe Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC))) TNS-12547: TNS:lost contact TNS-12560: TNS:protocol adapter error TNS-00517: Lost contact IBM/AIX RISC System/6000 Error: 32: Broken pipe
|
zhjs3$[/home/oracle]tnsping `hostname`
TNS Ping Utility for IBM/AIX RISC System/6000: Version 11.2.0.3.0 - Production on 16-JAN-2013 16:12:55
Copyright (c) 1997, 2011, Oracle. All rights reserved.
Used parameter files:
Used HOSTNAME adapter to resolve the alias Attempting to contact (DESCRIPTION=(CONNECT_DATA=(SERVICE_NAME=))(ADDRESS=(PROTOCOL=TCP)(HOST=133.37.253.82)(PORT=1521))) TNS-12547: TNS:lost contact
|
2. 連線只是在本機存在異常,如果在第三方伺服器上請求連線,一些OK
3. 對lsnrctl命令做TRUSS,沒有發現太多異常,只是最後返回一個異常
1200408: 1413557: thread_setmystate(0x0FFFFFFFFFFF7630, 0x0000000000000000) = 0 1200408: 1413557: kwrite(5, "\0 肻0\00104\0\001 :01 ,".., 195) = -1 1200408: Received signal #13, SIGPIPE [ignored] 1200408: 1413557: close(5) = 0 1200408: 1413557: lseek(4, 40448, 0) = 40448 |
4. 從報錯來看,應該是資源不足造成的,但是檢查也未發現什麼異常。
zhjs3$[/home/oracle]ulimit -a time(seconds) unlimited file(blocks) unlimited data(kbytes) unlimited stack(kbytes) 32768 memory(kbytes) 32768 coredump(blocks) 2097151 nofiles(descriptors) 2000 |
5. topas檢查發現幾個sftp CPU消耗極高。瞭解到這個伺服器上同時部署了資料庫與應用。檢查一下網路使用情況,發現存在異常的本機聯機到133.37.116.121的FTP連線,高達3W+個
zhjs3$[/home/oracle]netstat -an tcp4 0 0 133.37.253.82.50436 133.37.116.121.21 CLOSE_WAIT tcp4 0 0 133.37.253.82.50437 133.37.116.121.21 CLOSE_WAIT tcp4 0 0 133.37.253.82.50438 133.37.116.121.21 CLOSE_WAIT tcp4 0 0 133.37.253.82.50439 133.37.116.121.21 CLOSE_WAIT tcp4 0 0 133.37.253.82.50440 133.37.116.121.21 CLOSE_WAIT tcp4 0 0 133.37.253.82.50441 133.37.116.121.21 CLOSE_WAIT tcp4 0 0 133.37.253.82.50442 133.37.116.121.21 CLOSE_WAIT tcp4 0 0 133.37.253.82.50443 133.37.116.121.21 CLOSE_WAIT tcp4 0 0 133.37.253.82.50444 133.37.116.121.21 CLOSE_WAIT tcp4 0 0 133.37.253.82.50445 133.37.116.121.21 CLOSE_WAIT tcp4 0 0 133.37.253.82.50446 133.37.116.121.21 CLOSE_WAIT tcp4 0 0 133.37.253.82.50447 133.37.116.121.21 CLOSE_WAIT tcp4 0 0 133.37.253.82.50448 133.37.116.121.21 CLOSE_WAIT tcp4 0 0 133.37.253.82.50449 133.37.116.121.21 CLOSE_WAIT tcp4 0 0 133.37.253.82.50450 133.37.116.121.21 CLOSE_WAIT tcp4 0 0 133.37.253.82.50451 133.37.116.121.21 CLOSE_WAIT tcp4 0 0 133.37.253.82.50452 133.37.116.121.21 CLOSE_WAIT tcp4 0 0 133.37.253.82.50453 133.37.116.121.21 CLOSE_WAIT tcp4 0 0 133.37.253.82.50454 133.37.116.121.21 CLOSE_WAIT tcp4 0 0 133.37.253.82.50455 133.37.116.121.21 CLOSE_WAIT tcp4 0 0 133.37.253.82.50456 133.37.116.121.21 CLOSE_WAIT
zhjs3$[/home/oracle]netstat -an|grep 133.37.116.121.21|wc -l 32341 |
6. 當資料庫客戶端與監聽建立連線時,需要在本機分配一個臨時的埠來建立socket連線。如果沒有臨時的埠可用,則無法建立連線。32341個指向133.37.116.121.21的連線,這個數目和常見的限制值32768很接近。懷疑由於FTP客戶端程式耗盡了埠,導致本機連線資料庫請求不到埠報錯。
7. 開發商停止應用程式後,埠釋放出來,資料庫連線恢復正常
8. 查詢資料得知,AIX平臺下,臨時埠通過tcp_ephemeral_low,tcp_ephemeral_high 引數指定,在這臺伺服器上,其定義的臨時埠範圍確實為32768個。
Normal 0 7.8 磅 0 2 false false false EN-US ZH-CN X-NONE相關文章
- inode節點耗盡導致資料庫OOM資料庫OOM
- 大量"library cache lock"事件導致資料庫無法連線事件資料庫
- PLSQL連線不了資料庫(防火牆,埠原因導致)SQL資料庫防火牆
- 應用使用JNDI,資料庫無法連線,導致的程序無法啟動問題處理資料庫
- iptables導致無法遠端連線oracleOracle
- 核心資料庫由於大量的latch free導致CPU資源耗盡的現場資料庫
- WAMP無法連線mysql資料庫MySql資料庫
- MMNL absent ,資料庫無法連線資料庫
- ORACLE建立資料庫時無法建立目錄Oracle資料庫
- 共享記憶體段未釋放導致資料庫記憶體被耗盡記憶體資料庫
- iis網站資料庫無法連線資料庫網站資料庫
- 故障分析 | MySQL 5.7 使用臨時表導致資料庫 CrashMySql資料庫
- 【LISTENER】配置靜態監聽時謹防SID_NAME大小寫問題導致資料庫無法連線資料庫
- crond不斷喚起sendmail導致資源耗盡的排查AI
- HA異常導致oracle資料庫無法啟動Oracle資料庫
- MMMNL absent錯誤 ,資料庫無法連線資料庫
- 網站顯示無法連線資料庫網站資料庫
- java 無需建立資料來源連線access資料庫Java資料庫
- SQLServer資料庫中建立臨時表SQLServer資料庫
- Mysq無法建立資料庫資料庫
- 資料庫連線不能建立.資料庫
- centos無法建立ssl連線CentOS
- 執行SQL查詢導致磁碟耗盡故障演示SQL
- 磁碟IO故障導致的SQLServer資料庫無法寫入SQLServer資料庫
- 誤修改ORACLE_HOME導致無法登陸資料庫Oracle資料庫
- UNDO表空間損壞導致資料庫無法OPEN資料庫
- 歸檔問題導致的資料庫無法啟動資料庫
- 修改SQLNET.ORA導致資料庫無法啟動SQL資料庫
- 【YashanDB資料庫】PHP無法透過ODBC連線到資料庫資料庫PHP
- 資料庫無法建立資料庫檢視資料庫
- NAMES.DIRECTORY_PATH配置不當導致無法連線oracleOracle
- 網站無法連線資料庫怎麼辦?網站資料庫
- 織夢dedecms網站資料庫無法連線網站資料庫
- 【MySql】許可權不足導致的無法連線到資料庫以及許可權的授予和撤銷MySql資料庫
- Oracle核心資料庫由於大量的latch free導致CPU資源耗盡的現場解決過程Oracle資料庫
- 不能建立sqlserver資料庫連線SQLServer資料庫
- oracle SGA設定過大導致資料庫無法啟動Oracle資料庫
- 歸檔日誌無法歸檔導致資料庫hang住資料庫