Oracle 監聽異常處理
作業系統: windows2008
資料庫:oracle11g
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
問題發生:一套正常跑了一年的應用系統,忽然無法連線上資料庫
資料庫伺服器端檢視:
使用 lsnrctl status 檢視監聽狀態卡住,10分鐘左右結果才會反饋。
plsql無法連線。
重啟監聽問題依舊。
alter日誌檔案中報錯:
<msg time='2020-02-24T18:13:09.309+08:00' org_id='oracle' comp_id='rdbms'
type='UNKNOWN' level='16' host_id='WIN-N5BE4BP9FQS'
host_addr='fe80::6925:8e87:23e0:9a12%18'>
<txt>
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
</txt>
</msg>
<msg time='2020-02-24T18:13:09.309+08:00' org_id='oracle' comp_id='rdbms'
type='UNKNOWN' level='16' host_id='WIN-N5BE4BP9FQS'
host_addr='fe80::6925:8e87:23e0:9a12%18'>
<txt> Time: 24-2月 -2020 18:13:09
</txt>
</msg>
<msg time='2020-02-24T18:13:59.981+08:00' org_id='oracle' comp_id='rdbms'
type='UNKNOWN' level='16' host_id='WIN-N5BE4BP9FQS'
host_addr='fe80::6925:8e87:23e0:9a12%18'>
<txt>TNS-12547: TNS: 丟失連線
</txt>
</msg>
<msg time='2020-02-24T18:13:59.981+08:00' org_id='oracle' comp_id='rdbms'
<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>
type='UNKNOWN' level='16' host_id='WIN-N5BE4BP9FQS'
host_addr='fe80::6925:8e87:23e0:9a12%18'>
<txt> ns secondary err code: 12560
</txt>
</msg>
<msg time='2020-02-24T18:13:59.981+08:00' org_id='oracle' comp_id='rdbms'
type='UNKNOWN' level='16' host_id='WIN-N5BE4BP9FQS'
host_addr='fe80::6925:8e87:23e0:9a12%18'>
<txt> nt main err code: 0
</txt>
</msg>
<msg time='2020-02-24T18:13:59.981+08:00' org_id='oracle' comp_id='rdbms'
type='UNKNOWN' level='16' host_id='WIN-N5BE4BP9FQS'
host_addr='fe80::6925:8e87:23e0:9a12%18'>
<txt> nt secondary err code: 0
</txt>
</msg>
<msg time='2020-02-24T18:13:59.981+08:00' org_id='oracle' comp_id='rdbms'
type='UNKNOWN' level='16' host_id='WIN-N5BE4BP9FQS'
host_addr='fe80::6925:8e87:23e0:9a12%18'>
<txt> nt OS err code: 0
</txt>
</msg>
<msg time='2020-02-24T18:13:59.997+08:00' org_id='oracle' comp_id='rdbms'
type='UNKNOWN' level='16' host_id='WIN-N5BE4BP9FQS'
host_addr='fe80::6925:8e87:23e0:9a12%18' pid='39472'>
<txt>opiodr aborting process unknown ospid (39472) as a result of ORA-609
</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檔案,重新啟動監聽,正常。
關閉監聽
lsnrctl stop
到 listener.log 所在目錄
用命令列清空listener.log
echo > listener.log
lsnrctl reload
最終原因發現是log檔案寫滿,看來以後要定期清理這個檔案了。這麼小一個問題都使應用系統無法連線上,細節決定成敗。 此類檔案要見一個記錄一個 同時在同類系統中排查。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/23141985/viewspace-2677076/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle異常處理Oracle
- Oracle 處理異常Oracle
- 處理rac資料庫一個節點監聽異常資料庫
- oracle 異常處理 exceptionOracleException
- 【轉】Oracle 異常處理Oracle
- 資料庫監聽不定期出現異常故障處理資料庫
- Oracle異常錯誤處理Oracle
- ORACLE 異常錯誤處理Oracle
- spring boot 實現監聽器、過濾器、全域性異常處理Spring Boot過濾器
- 異常篇——異常處理
- oracle常見異常等待——latch處理思路Oracle
- 異常處理
- Oracle開發基礎-異常處理Oracle
- 解析Oracle developer 異常處理機制OracleDeveloper
- ORACLE RAC spfile異常處理辦法Oracle
- 異常-throws的方式處理異常
- 異常處理與異常函式函式
- JavaScript 異常處理JavaScript
- ThinkPHP 異常處理PHP
- React 異常處理React
- 08、異常處理
- JAVA 異常處理Java
- JAVA異常處理Java
- Abp 異常處理
- PowerShell 異常處理
- plsql異常處理SQL
- Swift 異常處理Swift
- JS異常處理JS
- app異常處理APP
- MySQL異常處理MySql
- 異常處理 (轉)
- 異常的處理
- Java 異常處理Java
- golang - 異常處理Golang
- 異常處理2
- 異常處理1
- 異常處理機制(二)之異常處理與捕獲
- shell埠監聽異常郵箱告警