随笔 - 116  文章 - 5  评论 - 1  阅读 - 14万

ORA-3137问题解决

环境:oracle版本为linux版 64位11.2.0.1.0 

今天项目的应用日志中报出【java.sql.SQLException:OALL8处于不一致状态】的错误,流程走不下去,查看了一下oracle的诊断日志,后台报出了ORA-3137[12333] TTC 协议内部错误[7][120][121][][][][]的错误,
经过一番资料查找,查明是由于oracle的bug引起的,通过重启数据库临时解决了问题。
对于使用11gR1以及11gR2早期版本的用户如果启用了绑定变量窥探或者使用JDBC驱动程序连接到ORACLE数据库的时候会发生ORA-3137[12333]的报错。这种报错是间歇性的。

下面罗列一下出现这类错误的补丁:
1.Unpublished Bug 8625762 – ORA-3137 [12333] due to bind data not read from wire
这个bug会影响11.2之前版本的数据库,该问题已经在11.2之后的数据库中已被修复,这是一个绑定变量窥探的BUG,同时是间歇性才会发生的BUG
通常由下面的报错引起:
ORA-3137: TTC protocol internal error : [1010] [] [] [] [] [] [] []
2.Unpublished Bug 9703463 – ORA-3137 [12333] or ORA-600 [kpobav-1] When Using Bind Peeking
这个bug影响11.1.0.6、11.1.0.7和11.2.0.1版本的数据库,该BUG已经在11.2.0.2的数据库中被修复。
该BUG的发生也是间歇性的,同样是绑定变量窥探引起的BUG,跟Bug:8625762的情况比较类似。

3.Unpublished Bug:9243912 – Additional diagnostics for ORA-3137 [12333] / OERI:12333
这个bug影响11.2.0.2之前版本的数据库,该bug已经在11.2.0.2中被修复。
这个错误ORA-3137[12333]发生在客户机/服务器通信过程中的绑定问题。该错误对应一个更具描述性的报错:ORA-600 [kpobav-1]。

4.Bug 7390077 ORA-03137: TTC PROTO INTERNAL ERROR: [12333] [8] [80] [65]
这个bug影响11.1.0.6及11.1.0.7的一些早期版本数据库,已经在11.1.0.7.8版本中修复。

解决这类bug的方法:
1.禁用绑定变量窥视
SQL> alter system set "_optim_peek_user_binds"=false;
禁用绑定变量窥探可能对数据库产生影响,它可以改变原先使用绑定变量的SQL的一些执行计划。
2.打相关补丁
PSU11.1.0.7.8补丁12419384包含补丁:9703463
对于11.1.0.7版本数据库,补丁9243912可以被应用在11.1.0.7.8之上而没有任何冲突。
补丁:9703463,也可单独应用,但需要PSU11.1.0.7.6 
补丁:8625762,也适用于数据库版本11.1.0.7 
3.升级数据库
升级到11.2.0.4 11g的最终版本。
4. 重启数据库
重启数据库能临时性解决问题,此后还会间歇性出现此问题。

posted on   JennyYu  阅读(799)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示