我们每天都有一个执行 oracle-plsql 函数的批处理作业。实际上,quartz 调度程序调用了一个 java 程序,该程序调用了 oracle-plsql 函数。这个 oracle plsql 函数从 4 个表中删除数据(超过 6 个月),然后提交事务。
此批处理作业在测试环境中成功运行,但当新数据转储到两周前发生的表时开始失败(该代码应该在本周投入生产)。早些时候,每个表中的行数不超过 10 万。但是现在3个表是100万,另外一个表是240万。
运行 3 小时后,java 中出现错误(写入日志文件)“...Connection reset; nested exception is java.sql.SQLException: Io exception: Connection reset....”。当检查表上的行数时,很明显没有从任何表中删除任何记录。
在 oracle 数据库中,当连接超时并且调用会话不再活动时,plsql 过程/函数是否可以自动终止/终止?
在此先感谢,普拉迪普。