>  기사  >  데이터 베이스  >  WebLogic ORA-03111错误的处理过程

WebLogic ORA-03111错误的处理过程

WBOY
WBOY원래의
2016-06-07 17:00:391988검색

ORA-03111错误,导致系统无法运行问题现象描述: 系统在运行时报ldquo;java.sql.SQLException: ORA-03111rdquo;错误。问题分析:

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)

(TDU = 16384)

(SID_NAME =XXX)

(ORACLE_HOME =XXXX)))

SDU的取值范围是512到32768,默认是2048,本次建议改为16384。

有关SDU可以参考metalink中SQL*Net Packet Sizes (SDU & TDU Parameters) [ID 44694.1]

linux

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.