千家信息网

如何进行ORA-03135报错分析解决

发表于:2025-12-01 作者:千家信息网编辑
千家信息网最后更新 2025年12月01日,这期内容当中小编将会给大家带来有关如何进行ORA-03135报错分析解决,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。近期发现生产环境一业务应用系统,不定时发生数据
千家信息网最后更新 2025年12月01日如何进行ORA-03135报错分析解决

这期内容当中小编将会给大家带来有关如何进行ORA-03135报错分析解决,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

近期发现生产环境一业务应用系统,不定时发生数据库连接断开,再次请求后正常连接问题。
系统日志中具体错误信息如下:ORA-03135: 连接失去联系\n进程 ID: 9349\n会话 ID: 2834 序列号: 64475"。
oracle版本:11.2.0.4
日志信息:

错误信息:ORA-03135: 连接失去联系

堆栈信息: at Oracle.ManagedDataAccess.Client.OracleException.HandleError(OracleTraceLevel level, OracleTraceTag tag, Exception ex)

at OracleInternal.TTC.TTCExecuteSql.ReceiveExecuteResponse(Accessor[]& defineAccessors, Accessor[] bindAccessors, Boolean bHasReturningParams, SQLMetaData& sqlMetaData, SqlStatementType statementType, Int64 noOfRowsFetchedLastTime, Int32 noOfRowsToFetch, Int32& noOfRowsFetched, Int64& queryId, Int32 longFetchSize, Int64 initialLOBFetchSize, Int64[] scnFromExecution, Boolean& bAllPureInputBinds, DataUnmarshaller& dataUnmarshaller, MarshalBindParameterValueHelper& marshalBindParamsHelper, Int64[]& rowsAffectedByArrayBind, Boolean bDefineDone, Boolean& bMoreThanOneRowAffectedByDmlWithRetClause, List`1& implicitRSList, Boolean bLOBArrayFetchRequired)

at OracleInternal.ServiceObjects.OracleCommandImpl.ExecuteReader(String commandText, OracleParameterCollection paramColl, CommandType commandType, OracleConnectionImpl connectionImpl, OracleDataReaderImpl& rdrImpl, Int32 longFetchSize, Int64 clientInitialLOBFS, OracleDependencyImpl orclDependencyImpl, Int64[] scnForExecution, Int64[]& scnFromExecution, OracleParameterCollection& bindByPositionParamColl, Boolean& bBindParamPresent, Int64& internalInitialLOBFS, OracleException& exceptionForArrayBindDML, Boolean isDescribeOnly, Boolean isFromEF)

at Oracle.ManagedDataAccess.Client.OracleCommand.ExecuteReader(Boolean requery, Boolean fillRequest, CommandBehavior behavior)

at Oracle.ManagedDataAccess.Client.OracleDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)

ORA-03135出现的原因较多,问题有可能出在网络设备、操作系统、数据库上,最有可能是由于网络和防火墙配置所导致。

解决方案:
经与网络组工程师沟通确认,当前防火前未开启长连接设置,开启后此问题解决。

补充一下长连接和短连接的概念:

①长连接的概念

长连接功能用于设置特定数据流的超长保持时间,让数据流的会话连接保持时间不受全局老化时间限制。其实这项特殊业务与目前业界的状态防火墙的实现机制是存在矛盾的。

为保证内部网络的安全,防火墙上的各会话缺省保持时间都相对较短,例如:缺省情况下,TCP的保持时间为1200s,UDP的保持时间为120s。

正常情况下,当一个TCP会话的两个连续报文到达防火墙的时间间隔大于该会话的保持时间时,为保证网络的安全性,防火墙将从会话表中删除相应会话信息。后续报文到达防火墙后,防火墙根据自身的转发机制,丢弃该报文,导致连接中断。在实际应用中,用户需要查询服务器上的数据,这些查询时间间隔远大于TCP/UDP默认的会话保持时间。此时需要在防火墙上保持TCP连接一段相对较长的时间。当某会话的报文长时间没有到达防火墙后再次到达时,仍然能够通过防火墙,这种技术就是长连接。

②短连接的概念

某些应用频繁发起连接,如果不缩短其会话保持时间,则会使防火墙的会话数爆涨,进而拖垮防火墙。保持太多的会话对防火墙没有必要,相反,当系统资源过多地用在会话保持的话,会相应损害每秒生成会话的能力,这是一个同样重要的性能指标。设定过高的会话数量,却降低了每秒生成会话的能力,其结果,只能是保留一些永远用不到的会话虚数而已。

因此,我们可以根据网络应用环境的实际需求,缩短某些会话的保持时间,从而减少防火墙的工作负荷,提高网络性能。

长、短连接参考资料:

https://www.cnblogs.com/lcplcpjava/p/6581179.html

小知识贴士:
oracle 本地登录的方式登录oracle服务端:sqlplus "/as sysdba",不需要用户名密码即可登录。
禁用方法:

1.linux下

转到目录$ORACLE_HOME/network/admin下,

cd $ORACLE_HOME/network/admin

vi sqlnet.ora

在文件sqlnet.ora中,增加一行即可:

sqlnet.authentication_services=(none)

如果应用程序时不时地报错"ORA-03135连接失去联系",该问题可能与sqlnet.ora设置参数SQLNET.EXPIRE_TIME 有关

在文件sqlnet.ora中,增加一行,单位分钟:

SQLNET.EXPIRE_TIME = 10

2.windows下

SQLNET.AUTHENTICATION_SERVICES= (NTS)是基于操作系统验证;

SQLNET.AUTHENTICATION_SERVICES= (NONE)是基于Oracle验证;

SQLNET.AUTHENTICATION_SERVICES= (NONE,NTS)是二者共存。

上述就是小编为大家分享的如何进行ORA-03135报错分析解决了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注行业资讯频道。

防火 时间 防火墙 网络 信息 数据 系统 应用 分析 报文 问题 概念 登录 联系 安全 操作系统 一行 业务 内容 再次 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 软件开发年度计划 普陀区智能软件开发哪家便宜 智慧云服务器连接不上 死亡空间3正版连不了ea服务器 网络安全管理条例具体内容 海淀区专业网络技术服务怎么样 微服务器安全 获取服务器唯一标识 sql怎么引用现有数据库 网信办的网络安全是什么 服务器如何配置短信 qt中获取数据库数据绘制折线图 数据库中的字怎么注释 什么是地理数据库arcgis 软件开发需要办外经证吗 北京c语言软件开发价位 网络安全隐患取决于什么 玩客云可以用来当作网站服务器吗 小型机服务器有哪些品牌 计算机网络技术实习实训成果 中老年人网络安全危害有哪些 初中网络安全教育备课 类书数据库 软件开发项目经理职责与权限 云平台网络安全的防范措施 联想3650M5服务器不启动 网络安全法关于等保 网络技术人员资格证书 观看网络安全的收获 夜色资源网络技术
0