如何清除 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 游标缓存(演示服务器)的主要内容,如果未能解决你的问题,请参考以下文章
如何在 OBIEE 12c 中查看业务模型和映射层中的数据?
Java 技术篇 - 连接oracle数据库执行sql使用close()关闭createStatement()无效无法清除游标缓存问题解决,报“ORA-01000: 超出打开游标的最大数“错误解决方法