Oracle 结果集缓存如何去掉这个功能?

kaerxu 2013-12-02 09:23:52
目前问题是:登录系统,执行sql,修改下参数,再执行该sql(参数已变),但是oracle返回的依然是上次的数据,貌似是oracle结果集缓存的问题,有没有帮忙解决下的?3Q
...全文
445 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
大话EPM 2013-12-02
  • 打赏
  • 举报
回复
修改系统初始化参数
kaerxu 2013-12-02
  • 打赏
  • 举报
回复
引用 2 楼 gioh0022 的回复:
确定你的参数改了没,确定你的结果是先从memcache类的东西出来还是直接从oracle出来, 如果你的语句直接挂到oracle上跑不会有这样的问题的
用语句直接在PLSQL上运行就没问题,在程序中 就有缓存问题!
kaerxu 2013-12-02
  • 打赏
  • 举报
回复
引用 3 楼 z_shousi 的回复:
貌似不是oracle问题,只要你已commit。你两次sql问题,是否可以把两个sql发出来。
两个最终的sql语句一模一样 ,只是查询的结果的相关字段的内容变了! 比如 查询 某个人的信息 select 人.* from person where ID='001',可能我用系统修改了001的性别,但是,由于oracle有缓存,依然显示的是上次的结果, 望指教!
kaerxu 2013-12-02
  • 打赏
  • 举报
回复
sql参数基本没变,只是后台的相关数据会变!
  • 打赏
  • 举报
回复
貌似不是oracle问题,只要你已commit。你两次sql问题,是否可以把两个sql发出来。
  • 打赏
  • 举报
回复
确定你的参数改了没,确定你的结果是先从memcache类的东西出来还是直接从oracle出来, 如果你的语句直接挂到oracle上跑不会有这样的问题的
ray_suen 2013-12-02
  • 打赏
  • 举报
回复
执行那种sql,修改了什么参数?
binsweet 2013-12-02
  • 打赏
  • 举报
回复
不存在什么缓存问题,你程序有问题,你自己跟踪一下看看
大话EPM 2013-12-02
  • 打赏
  • 举报
回复
1170483141
kaerxu 2013-12-02
  • 打赏
  • 举报
回复
引用 9 楼 chenjiang89 的回复:
把结果缓存清掉吧,有一个命令 execDBMS_RESULT_CACHE.flush; 或者失效结果缓存 EXEC DBMS_RESULT_CACHE.invalidate(。。。。)
能给QQ好么?有问题请教!
大话EPM 2013-12-02
  • 打赏
  • 举报
回复
把结果缓存清掉吧,有一个命令 execDBMS_RESULT_CACHE.flush; 或者失效结果缓存 EXEC DBMS_RESULT_CACHE.invalidate(。。。。)
kaerxu 2013-12-02
  • 打赏
  • 举报
回复
引用 7 楼 chenjiang89 的回复:
修改系统初始化参数
alter session set result_cache_mode=force; show parameter result_cache ??不行啊

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧