ORA-03137: malformed TTC packet from client reject
数据库巡检还是比较重要的一项工作,如果有自动化运维工具效率更高一些,但是对于各种指标的设置,哪些告警需要提取,依然需要DBA的参与。
这这今天的错误是个常规巡检发现的。我们看错误信息如下:
ORA-03137: malformed TTC packet from client rejected: [3146] [94] [] []
w 通过oerr ora 3137 查询这个错误号解释也是比较模糊:大致意思是错误格式的packet被拒绝了,cause是TTC包格式错误,这种解释其实我们跟不无法具体理解,因为我们
根本无法理解这个TTC包的具体格式信息,还是到MOS上找找吧(其实遇到奇怪问题,高概率是要查MOS的,毕竟是人家非开源产品,强大的生态和技术支持提供了几乎我们遇到绝大多数问题,通过在MOS查ORA-03137: malformed TTC packet from client rejected: [3146] [94] [] []关键字,我们查到一篇文章如下所示:
ORA-03137: malformed TTC packet from client rejected: [3146] [94] [] [] [] [] [] [] While Using JDBC 12.2.0.1 (Doc ID 2519886.1)
其中的特征是这样描述的:
ORA-03137: malformed TTC packet from client rejected: [3146] [94] [] [] [] [] [] [] occurs while using the JDBC 12.2.0.1 driver.使用12.2.0.1 JDBC 驱动时报3137错误。
而原因是:意思是说遇到了比如内存溢出类似的异常,JDBC发出网络请求,而这个请求导致了违反协议。这明显是个bug.Oracle也承认这是unpublished bug
After an unexpected error, like OutOfMemoryException, JDBC could issue a network request which results in a protocol violation. This is reported in unpublished bug :BUG 24470504 - APPS R1223 BENCHMARK STRESS TEST HIT ORA 3137 [3146] ORA-03137: malformed TTC packet from client rejected: [3146] [94] [] [] [] [] [] []
解决方式:
Upgrade to JDBC 18.3
其实这个问题处理起来也比较简单,这里强调的是需要咱们认真分析错误,查询错误,定位错误,把巡检发现的故障、性能隐患搞清楚。
相关文章