WebLogic ORA-03111錯誤的處理過程 |
發布時間: 2012/8/21 16:34:02 |
ORA-03111錯誤,導致系統無法運行 問題現象描述: 系統在運行時報“java.sql.SQLException: ORA-03111”錯誤。 問題分析: 通過在metalink對故障代碼進行定位。文檔號[ID 1219453.1]與客戶的故障信息類似,“ORA-03111: break received on communication channel”是由于數據庫服務器端的監聽進程的配置linstener.ora的SDU設置不夠大造成的。 錯誤基本的含義是“緩沖區不夠大,無法發送數據。”對于Oracle Net,這個緩沖區是會話數據單元(Session Data Unit value, SDU). SDU簡單來說,就是一個用來復制數據到Socket緩沖區并把數據傳給客戶端的服務器內部的緩沖區。 ORA-3111錯誤一般可以忽略掉,因為它不會導致更多的問題或者Core dumps。要消除這些錯誤,只需要增大 SDU的配置。 解決方案: 增大SDU. 修改的是Oracle數據庫服務器監聽進程的配置listen.ora LISTENER.ORA: SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SDU = 16384) <- Setting SDU to 16384 for this SID (TDU = 16384) <- 8.0 TDU position (SID_NAME =XXX) (Oracle_HOME =XXXX))) SDU的取值范圍是512到32768,默認是2048,本次建議改為16384。 有關SDU可以參考metalink中SQL*Net Packet Sizes (SDU & TDU Parameters) [ID 44694.1] 本文出自:億恩科技【www.vbseamall.com】 |