我有一个春季批处理管理应用程序。我们最近尝试通过创建具有最低权限的新 oracle 用户来提高安全性。更换弹簧批处理应用程序的用户后,我收到此错误。
exception: org.springframework.dao.DataAccessResourceFailureException: Could not obtain sequence value; nested exception is java.sql.SQLException: ORA-00942: table or view does not exist
在查看了应用程序和 tomcat 日志后,我发现应用程序在抛出错误之前尝试了 3 次执行此查询。
SELECT JOB_INSTANCE_ID, JOB_NAME from BATCH_JOB_INSTANCE where JOB_NAME = ? and JOB_KEY = ?
我尝试了来自 sql developer 的相同查询,其值在日志中说明,但返回时没有任何结果 - 但成功完成。(没有找到表错误。)
我尝试在日志中搜索相同 JOB_KEY 的实例,以为会有一个插入语句,但我在此日志中看不到任何内容。
有没有熟悉 Spring Batch 的人可以帮助我验证 oracle 用户需要哪些权限?我们的新用户没有创建或删除权限。你能帮我验证那些是必需的,以及为什么。-意思是创建和删除临时表吗?我试图在不同的日志文件中找到它,但到目前为止我还没有成功。
谢谢!