現象:數據庫服務及監聽運行正常,但打開功能模塊很是慢;
處理過程:
一 檢查數據庫alert_oaxx.log日誌
日誌切換並不高,無報錯;數據庫負載不大;
二 檢查數據庫狀態
服務和監聽均運行正常,sqlplus / as sysdba登錄正常,會話數正常 .
檢查系統啓動時間
初始安裝日期: 2015/5/13, 12:09:51
系統啓動時間: 2018/6/14, 3:11:06
檢查網絡鏈接,發現大量close_wait,由進程327000引發,經判斷爲360trayjava
TCP 10.25.136.5:52667 221.130.200.53:80 CLOSE_WAIT 327000 TCP 10.25.136.5:52668 221.130.200.53:80 CLOSE_WAIT 327000 TCP 10.25.136.5:52669 221.130.200.53:80 CLOSE_WAIT 327000 TCP 10.25.136.5:52672 221.130.200.53:80 CLOSE_WAIT 327000 TCP 10.25.136.5:52674 221.130.200.53:80 CLOSE_WAIT 327000 TCP 10.25.136.5:52675 221.130.200.53:80 CLOSE_WAIT 327000 TCP 10.25.136.5:52676 221.130.200.53:80 CLOSE_WAIT 327000 TCP 10.25.136.5:52677 221.130.200.53:80 CLOSE_WAIT 327000 TCP 10.25.136.5:52678 221.130.200.53:80 CLOSE_WAIT 327000 TCP 10.25.136.5:52680 221.130.200.53:80 CLOSE_WAIT 327000 TCP 10.25.136.5:52681 221.130.200.53:80 CLOSE_WAIT 327000 TCP 10.25.136.5:52682 221.130.200.53:80 CLOSE_WAIT 327000 TCP 10.25.136.5:52683 221.130.200.53:80 CLOSE_WAIT 327000 TCP 10.25.136.5:52684 221.130.200.53:80 CLOSE_WAIT 327000 TCP 10.25.136.5:52686 221.130.200.53:80 CLOSE_WAIT 327000 TCP 10.25.136.5:52688 221.130.200.53:80 CLOSE_WAIT 327000 TCP 10.25.136.5:52690 221.130.200.53:80 CLOSE_WAIT 327000 TCP 10.25.136.5:52691 221.130.200.53:80 CLOSE_WAIT 327000 TCP 10.25.136.5:52692 221.130.200.53:80 CLOSE_WAIT 327000
三 檢查數據庫等待事件
無等待 ;
四 作tnsping發現:sql
C:\Users\Administrator>tnsping oadb TNS Ping Utility for 64-bit Windows: Version 11.2.0.1.0 - Production on 08-5月 - 2019 15:05:04 Copyright (c) 1997, 2010, Oracle. All rights reserved. 已使用的參數文件: Y:\oracle\product\11.2.0\dbhome_1\network\admin\sqlnet.ora 已使用 TNSNAMES 適配器來解析別名 嘗試鏈接 (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST =10.xx.1xx.5)(PORT = 15 22)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = oadb))) OK (51910 毫秒)
延遲很高,停用360tray數據庫
C:\Users\Administrator>tnsping oadb TNS Ping Utility for 64-bit Windows: Version 11.2.0.1.0 - Production on 08-5月 - 2019 14:58:23 Copyright (c) 1997, 2010, Oracle. All rights reserved. 已使用的參數文件: Y:\oracle\product\11.2.0\dbhome_1\network\admin\sqlnet.ora 已使用 TNSNAMES 適配器來解析別名 嘗試鏈接 (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = WIN-5K0CGNM3EQV)(PORT = 1522)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = oadb))) OK (24950 毫秒)
降至25秒,但仍是很高,ping 主機,發現延遲很低,禁用ipv6,效果仍是同樣;
C:\Users\Administrator>ping 10.25.136.5網絡
正在 Ping 10.25.136.5 具備 32 字節的數據:
來自 10.25.136.5 的回覆: 字節=32 時間<1ms TTL=64
來自 10.25.136.5 的回覆: 字節=32 時間<1ms TTL=64
另發現應用日誌存在網絡鏈接超時oracle
url=jdbc:oracle:thin:@10.2x.1x6.x:xxx:oadb;user=bxxx;pwd=xxx java.sql.SQLException: Io 異常: Connection refused(DESCRIPTION=(TMP=)(VSNNUM=186 646784)(ERR=12505)(ERROR_STACK=(ERROR=(CODE=12505)(EMFI=4)))) at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:189) at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:231)
檢查sqlnet.ora無明顯異常;
五 檢查數據庫監聽,重啓監聽,無改善,查看監聽日誌發現,日誌在2019-04-06 2 點之後無更新
產生有大量trace:tcp
** DBGRL Error: Text Alert Log ** DBGRL Error: SLERC_OERC, 48184 ** DBGRL Error: OSD-00002: 附加錯誤信息 O/S-Error: (OS 87) 參數錯誤。 ** DBGRL Error: 06-4月 -2019 02:01:39 * (CONNECT_DATA=(SID=xxdb)(CID=(PROGRAM=)(HOST=__jdbc__)(USER=oracle))) * (ADDRESS=(PROTOCOL=tcp)(HOST=1xxxxx)(PORT=60839)) * establish * oadb * 0 Trace file y:\oracle\diag\tnslsnr\WIN-5K0CGNM3EQV\listener\trace\ora_895324_893720.trc ** DBGRL Error: Text Alert Log ** DBGRL Error: SLERC_OERC, 48184 ** DBGRL Error: OSD-00002: 附加錯誤信息 O/S-Error: (OS 87) 參數錯誤。 ** DBGRL Error: 系統參數文件爲Y:\oracle\product\11.2.0\dbhome_1\network\admin\listener.ora
查看listner.log發現其有4GB,在win 下存在以下問題:
WINDOWS: Listener Hangs & Lsnrctl Commands Are Slow or Hang (文檔 ID 1319797.1)
Bug 9879101 : THE CONNECT THROUGH LISTENER WAS SLOW WHEN LISTNER LOG GROWED 4GB
處理辦法:
1 停上監聽,重命名原監聽文件,
y:\oracle\diag\tnslsnr\WIN-5K0CGNM3EQV\listener\trace\ listener.bak.log
新建一個listener.logide