我遇到的问题是我的测试套件随机套接字异常随机失败
oracle.jdbc.driver.T4CStatement 1267 - Throwing SQLException: java.net.SocketException: Software caused connection abort: recv failed
当以特定顺序执行一组给定的测试用例时,测试套件会因此异常而失败。启用oracle jdbc驱动程序日志后,我收到了上面的错误日志。导致此错误的查询始终是“DROP SEQUENCE查询”。这个查询没有什么特别之处,因为它在执行流程中被解雇了很多次。
其中一个blog link指出上述错误是因为服务器端套接字在客户端期望之前关闭。为了解决更多问题,我尝试分析Oracle TNSListener日志 - listener.log文件,但由于日志文件只包含有关套接字CONNECT函数调用的信息,因此无法收集太多信息。
除了博客链接提到的错误之外,上述错误的可能原因是什么?
如何配置Oracle TNSListener以提供有关套接字通信的更多详细信息?对于例如触发服务器套接字关闭事件时跟踪信息。
如果有人能指出导致此错误的原因,或者提供更多信息可以帮助我根据以上两点进一步解决此问题,我将不胜感激
答案 0 :(得分:1)
如果您有权访问lsnrctl utility:
,则可以设置跟踪级别LSNRCTL> show trc_level
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=xxx)(PORT=1521)))
LISTENER parameter "trc_level" set to off
The command completed successfully
LSNRCTL> set trc_level admin
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=xxx)(PORT=1521)))
LISTENER parameter "trc_level" set to admin
The command completed successfully
LSNRCTL> show trc_level
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=xxx)(PORT=1521)))
LISTENER parameter "trc_level" set to admin
The command completed successfully
LSNRCTL>
从文档中,trc_level是以下之一:
指定以下跟踪级别之一: