处理Tomcat日志以及ORA-17401故障(ojdbc)

Posted Flashield

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了处理Tomcat日志以及ORA-17401故障(ojdbc)相关的知识,希望对你有一定的参考价值。

一个上午折腾了一个站点的故障:查看了tomcat日志:

tail -f /ntdata/runtime/apache-tomcat-7.0.72/report/logs/catalina.out | grep ERROR

其中大量的以下错误:

SQL state [99999]; error code [17401]; Protocol violation: [ 10, ]; nested exception is java.sql.SQLException: Protocol violation: [ 10, ]

检查应该是ORA-17401的故障代码,最主要的原因是ojdbc的版本不正确导致。因为故障处理的有些匆忙,没有找到正确的ojdbc版本。直接使用了ojdbc14进行了替换。查询正常了,但是java程序写的邮件定时发送出现了问题。不停的重复发送。

查找了网上的解决方案:

  1. 替换掉应用jar包中的ojdbc(我使用的是WinZip替换的);
  2. 把应用jar包的"META-INF/MANIFEST.MF"文件中的ojdbc版本的引用修改至最新(修改MANIFEST.MF对包的引用Export-Package)。

期间,来来回回折腾,最后还是在Oracle官网上找到了正确的ojdbc8版本:

https://www.oracle.com/database/technologies/appdev/jdbc-ucp-19c-downloads.html

调整完毕之后,就目前来看,已经恢复到了正常的状态。这段时间没有如此的顺畅过。过一会儿,把邮件通报的程序启动起来试一下,应该不会再有问题了。


以上是关于处理Tomcat日志以及ORA-17401故障(ojdbc)的主要内容,如果未能解决你的问题,请参考以下文章

软件开发中网站常见故障及处理方法

故障处理ORA-28040: No matching authentication protocol

记录一波由会话堵塞导致tomcat应用故障事件

linux安装tomcat及优化

排查tomcat服务器启动,项目无法运行故障

Tomcat日志分割