DYNCALCCACHEONLY

Essbase 配置设置 DYNCALCCACHEONLY 指定动态计算是否可以在动态计算器高速缓存之外使用内存(如果它已满)。

DYNCALCCACHEONLY 配置仅适用于块存储 (BSO) 数据库,不适用于聚合存储 (ASO) 数据库。

语法

DYNCALCCACHEONLY [appname [dbname]] TRUE | FALSE
  • appname - 如果指定应用程序名称,则该设置将应用于应用程序中的所有多维数据集。如果未指定应用程序名称,则该设置将应用于服务器上的所有应用程序和多维数据集。

  • dbname - 如果指定数据库(多维数据集)名称,则该设置仅适用于多维数据集。如果不同时指定应用程序名称,则该设置将应用于服务器上的所有应用程序和多维数据集。

  • TRUE - 不允许在动态计算器高速缓存之外使用内存。如果无法从动态计算器高速缓存中获取具有动态计算成员的块的空间,则 Essbase 会生成错误消息。

  • FALSE - 如有必要,允许对包含动态计算成员的块使用动态计算器高速缓存外的内存。默认值为 FALSE。

说明

动态计算器高速缓存是存储数据块的内存缓冲区,这些数据块已扩展到包括动态计算的成员。Essbase 在动态计算器高速缓存中分配内存,以便在检索或涉及动态计算成员的计算期间存储这些块。

使用动态计算器高速缓存可以通过减少对操作系统执行内存分配的调用数来提高检索性能。改进的大小取决于您的配置。

当动态计算器高速缓存中没有可用空间时,DYNCALCCACHEWAITFORBLK 和 DYNCALCCACHECOMPRBLKBUFSIZE 配置设置会提供选项,使 Essbase 使用动态计算器高速缓存外的内存来存储包含动态计算成员的块。如果您遇到严重的内存短缺,可以使用 DYNCALCCACHEONLY 设置来禁止在动态计算器高速缓存之外使用内存。如果 DYNCALCCACHEONLY 设置为 TRUE,而不是使用动态计算器高速缓存外的内存,则 Essbase 将生成错误消息“不允许在动态计算器高速缓存之外进行分配”。

说明

DYNCALCCACHEONLY 的默认值为 FALSE。仅在以下一种或多种情况下将 DYNCALCCACHEONLY 设置为 TRUE:

  • 操作系统无法在动态计算器高速缓存之外正确回收内存。

  • 记忆力严重短缺

  • 需要对动态计算的内存使用情况进行更严格的控制

范例

DYNCALCCACHEONLY TRUE

指定动态计算器高速缓存是 Essbase 可用于存储包含动态计算块的块的唯一内存区域。如果检索所需的空间在动态计算器高速缓存中不可用,则将终止检索的执行。用户看到一条错误消息,该错误消息也发布到应用程序日志中。