gpt4 book ai didi

Oracle OCI 客户端缓存不工作

转载 作者:行者123 更新时间:2023-12-04 06:32:40 28 4
gpt4 key购买 nike

我正在使用 Oracle Database 11g Release 11.2.0.2.0 并尝试启用 oci 客户端缓存。它不起作用。
我为启用它所做的配置更改是 -

  • 通过将服务器端参数“client_result_cache_size”设置为 10485760 (10 MB)
  • 启用客户端结果集缓存
  • 设置上述参数后重启oracle实例
  • 通过执行语句 ALTER TABLE emp RESULT_CACHE (MODE FORCE) 添加了表注释。我验证了注释是通过稍后查询用户表来应用的。
  • 在客户端(即 JDBC 驱动程序)启用语句缓存。
  • 使用准备好的语句来执行查询,以便语句缓存开始。从驱动程序日志中,我验证了在第一个使用相同语句句柄之后后续查询的执行。

  • 在执行了三次选择准备好的语句查询后,我检查了 CLIENT_RESULT_CACHE_STATS$ View 。但是这个 View 没有产生任何行。

    作为故障排除的一部分,我什至尝试向查询添加/*+ RESULT_CACHE */提示,但 View 没有给出任何结果。

    从分析器 (flextracer) 中,我可以看到仍然对服务器进行 OCI 调用以获取选择查询的结果集。同样在启用 sql 跟踪时,我可以从 tkprof 看到查询的每次执行都会增加在服务器上获取的行数,这表明 OCI 中的客户端结果集缓存不起作用。

    有没有我遗漏的步骤?

    提前致谢。

    最佳答案

    我意识到我尝试启用的缓存功能在标准版中不可用。它仅在企业版中可用 - http://download.oracle.com/docs/cd/B28359_01/license.111/b28287/editions.htm#BABDJGGI

    关于Oracle OCI 客户端缓存不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5217549/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com