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.enkj.com】 |