【问题标题】:Oracle OCI Client Cache Not WorkingOracle OCI 客户端缓存不工作
【发布时间】:2011-07-10 04:58:28
【问题描述】:

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

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

在执行了 3 次 selectprepared statement 查询后,我检查了 CLIENT_RESULT_CACHE_STATS$ 视图。但是这个视图没有产生任何行。

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

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

有没有我遗漏的步骤?

提前致谢。

【问题讨论】:

    标签: oracle oracle-call-interface


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-02-02
      • 2018-10-02
      • 2021-01-18
      • 1970-01-01
      • 2019-01-08
      • 2021-04-26
      • 1970-01-01
      • 2017-03-18
      相关资源
      最近更新 更多