Oracle ORDS查询返回旧数据,更新后延迟生效问题求助
ORDS部署在TomCat下查询端点返回旧数据延迟更新的问题
我们通过TomCat Web服务器部署Oracle Rest Data Services(ORDS),定义了两个REST端点:
- 一个用于更新数据库表中的数据集
- 一个用于查询该表的所有数据集
当前问题:通过更新端点修改数据后,数据已确认写入Oracle数据库,但调用查询端点时,ORDS始终返回未修改的旧数据。需等待最长1分钟(可能更短)的时长后,查询端点才会返回预期的新数据。
支持缓存推测的现象
- 对GET查询接口的执行过程添加了日志记录,仅能捕获到返回新数据的请求,返回旧数据的请求完全无日志输出
- 返回旧数据的请求响应耗时仅4-8毫秒,而返回新数据的请求耗时在100-200毫秒区间
已尝试的无效操作
- 排查Oracle数据库、TomCat及ORDS的缓存相关配置,未发现可疑设置
- 重启TomCat服务器清除缓存,问题未解决
- 直接使用SQL语句更新数据库数据,再调用查询端点,仍存在延迟生效的情况
- 为查询过程添加日志,仅捕获到返回新数据的请求
内容的提问来源于stack exchange,提问作者Julian
相关产品推荐
相关产品推荐

