我正在尝试在 Oracle 11g 中启用结果缓存。我已经使用 Enterprise Manager 将result_cache_max_size
和的result_cache_max_result
值分别更改为“1M”和“100”(也许这些不是最佳设置,但我只是想让它工作!)。
进行这些更改后,我使用以下查询来查看是否确实进行了更改:
select * from V$PARAMETER where LOWER("NAME") like '%result_cache%';
我可以看到两者都已正确设置。但是,当我使用result_cache
提示运行查询时,我可以从 Autotrace 中看到缓存未被使用。如果我然后运行以下查询:
SELECT dbms_result_cache.status() FROM dual;
我可以看到它的状态是“已禁用”。重新启动数据库只会使result_cache_max_size
参数返回到 0(禁用)。
如何启用结果缓存?
你用的是企业版吗?看起来这是一个 EE 特性:
http://docs.oracle.com/cd/B28359_01/license.111/b28287/editions.htm
CTRL + F 文档并搜索结果缓存和支持的版本。