標籤:
作業系統: windows2008
資料庫:oracle11g
問題發生:一套正常跑了一年的應用系統,忽然無法串連上資料庫,但是另外一個應用可以正常連結,資料入庫正常。
資料庫伺服器端查看:
使用 lsnrctl status 查看監聽狀態卡住,10分鐘左右結果才會反饋。
plsql無法串連。
重啟監聽問題依舊。
alter記錄檔中報錯:
Fatal NI connect error 12537, connecting to:
(LOCAL=NO)
VERSION INFORMATION:
TNS for 64-bit Windows: Version 11.2.0.1.0 - Production
Oracle Bequeath NT Protocol Adapter for 64-bit Windows: Version 11.2.0.1.0 - Production
Windows NT TCP/IP NT Protocol Adapter for 64-bit Windows: Version 11.2.0.1.0 - Production
Time: 17-6月 -2015 09:17:49
Tracing not turned on.
Tns error struct:
ns main err code: 12537
TNS-12537: TNS: 串連關閉
ns secondary err code: 12560
nt main err code: 0
nt secondary err code: 0
nt OS err code: 0
opiodr aborting process unknown ospid (6052) as a result of ORA-609
使用dos端sqlplus登入正常,查有最新資料入庫。懷疑是監聽問題!
查看監聽log檔案 $ORACLE_HOME/network/log 報錯如下
<msg time=‘2015-06-16T02:14:18.877+08:00‘ org_id=‘oracle‘ comp_id=‘tnslsnr‘
type=‘UNKNOWN‘ level=‘16‘ host_id=‘WINDOWS-35NMUNE‘
host_addr=‘fe80::7840:6685:828f:4f5a%17‘>
<txt>TNS-12560: TNS: 協議適配器錯誤
TNS-00530: 協議適配器錯誤
64-bit Windows Error: 53: Unknown error
TNS-12518: TNS: 監聽程式無法分發客戶機串連
TNS-12571: TNS: 包寫入程式失敗
TNS-12560: TNS: 協議適配器錯誤
TNS-00530: 協議適配器錯誤
64-bit Windows Error: 54: Unknown error
</txt>
</msg>
報錯 ora-12518 監聽無法分發用戶端串連。 但在oracle中使用 show parameter session 與select count(×) from v$session; 對比發現不是串連數限制問題。
使用tnsping IP 沒有反應。
後繼續查看listener的log檔案 $ORACLE_HOME/network/trace 發現listener.log 檔案已經達到4G 無法再繼續寫入,最後寫入日期也在前兩天,於是刪除該log檔案,啟動監聽,正常~!!
最終原因發現是log檔案寫滿,看來以後要定期清理這個檔案了。這麼小一個問題都使應用系統無法串連上,細節決定成敗。 此類檔案要見一個記錄一個 同時在同類系統中排查。
oracle 11g不能串連報ORA-12537+ora-609解決