如何清除 OBIEE 游标缓存(演示服务器)

Posted

技术标签:

【中文标题】如何清除 OBIEE 游标缓存(演示服务器)【英文标题】:How to clear OBIEE cursor cache (presentation server) 【发布时间】:2017-01-07 10:10:59 【问题描述】:

我在 OBIEE 10g 中遇到提示问题,由于提示查询是从游标缓存(表示服务)提供的,因此它会显示旧的数据库值。例如,如果提示下拉列表最初显示 1 个值,因为有 1 个数据库行,当我从数据库中删除该行时,提示仍然显示相同的数据库值,除非我通过分析手动删除游标缓存 设置 > 管理 > 管理会话 > 清除缓存/游标

尝试检查 OBIEE 演示服务配置文件 instanceconfig.xml,但是没有这样的参数可以永久禁用此缓存。我引用了以下链接,OBIEE 10G/11G - Presentation Service (Query|Result|Cursor) Cache

重置这些参数似乎对游标缓存没有任何影响,这些参数仍在生成,并且在设置超时后不会被清除。 (我在更改这些参数后重新启动了 OBIEE 服务)。我在这里遗漏了什么吗?

希望有任何指针可以完成此操作,即清除/禁用游标缓存而无需如上所述的手动干预(通过设置 > 管理)。

【问题讨论】:

【参考方案1】:

在某些时候,我也遇到过这个问题。 OBIEE 中的演示文稿缓存有时有点阴暗。

我所做的是在提示的查询上添加一些虚拟比较,涉及具有足够精度的 sysdate,因此它使每个查询与缓存不同。

有点破旧,但至少你不需要任何人工干预......也许它可以帮助你。

祝你好运!

【讨论】:

【参考方案2】:

如果同时使用 Presentation 变量,而不是使用 SQL 查询构建的 Prompt,您可能会看到此问题。

问题可能是由于共享的 Presentation Services 查询缓存,这意味着 即即使用户退出,查询游标缓存仍然被其他用户共享,所以在用户再次登录后不会刷新新数据。

缓存文件在 ORACLE_INSTANCE/tmp/OracleBIPresentationServices/coreapplication_obipsn/obis_temp

更多详情请参阅this document。

您可以在存储库中配置虚拟专用数据库选项 物理数据库对象并将会话变量标记为安全敏感 使查询缓存不在用户之间共享的存储库。详情请参阅this documentation。

【讨论】:

对于上面的答案,我使用了 Oracle 内部文档。如果需要,我可以提供原作者。

以上是关于如何清除 OBIEE 游标缓存(演示服务器)的主要内容,如果未能解决你的问题,请参考以下文章

来自 ODI 的 OBIEE BI 服务器种子缓存

OBIEE 12C:可下载文件的 HTML 缓存

如何在 OBIEE 12c 中查看业务模型和映射层中的数据?

Java 技术篇 - 连接oracle数据库执行sql使用close()关闭createStatement()无效无法清除游标缓存问题解决,报“ORA-01000: 超出打开游标的最大数“错误解决方法

如何清除tomcat缓存

更新服务器后如何清除缓存