WebLogic ORA-03111錯誤的處理過程

來源:互聯網
上載者:User

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]

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.