LONGQUERYTIMETHRESHOLD

通过 LONGQUERYTIMETHRESHOLD 配置设置,可以捕获有关长时间运行的 Essbase 网格和 MDX 查询的统计信息。指定要捕获统计信息的最小查询时间长度(秒)。

启用 LONGQUERYTIMETHRESHOLD 时, Essbase
  • 在 Oracle 诊断日志 (ODL) 中简要概述了运行时间超过指定时间值的每个查询的查询性能
  • 设置用于查询跟踪的记录的阈值/筛选器(启用 TRACE_REPORT 设置时)

语法

LONGQUERYTIMETHRESHOLD n

其中 n 是秒数。如果设置为 0,则此设置处于关闭状态(这是默认值)。如果设置为 -1,则此设置始终处于打开状态。

范例

LONGQUERYTIMETHRESHOLD 60

为运行 60 秒或更长时间的查询指定统计信息收集。

配置持续查询跟踪

结合使用配置设置 TRACE_REPORT 和 LONGQUERYTIMETHRESHOLD 来管理应在应用程序的 Oracle 诊断日志 (ODL) 中为多维数据集收集和/或输出到 trace_report.log 的查询跟踪信息。

您可以启用 TRACE_REPORT 来跟踪一般查询性能,但 Oracle 建议通过设置 LONGQUERYTIMETHRESHOLD 来过滤除运行时间最长的查询以外的所有查询。

理想情况下,
  • Essbase 配置为仅记录运行时间最长查询的前 5% 的日志信息。如果您不知道此值,60 秒可能是一个不错的起点。
  • 请定期检查日志文件是否增大过大。
配置类型 TRACE_REPORT 值 LONGQUERYTHRESHOLD 值 对日志的影响
仅 ODL,具有阈值 设置为 0(或根本不设置) 设置为大于 0 的值 n(秒) 运行时间超过 n 秒的所有查询的性能度量将输出到应用程序的 ODL 日志中。
ODL 和跟踪,具有阈值 设置为 -1 设置为大于 0 的值 n(秒) 运行时间超过 n 秒的所有查询的性能度量将输出到应用程序 ODL 日志中。

有关运行时间超过 n 秒的查询的信息将输出到 trace_report.log

无阈值的跟踪 - 不推荐! 设置为 -1 设置为 0(或根本不设置) 有关所有查询的信息(无论运行时间如何)将输出到 trace_report.log

不建议使用此配置,因为如果不使用阈值进行过滤,trace_report.log 可能太大,如果阈值太低,查询性能会受到影响。

trace_report 日志位于 <Domain Home>/servers/<Essbase-Managed-Server-Name>/logs/essbase/essbase/app/<application-name>/<cube-name>/trace_report.log 中。

应用程序 ODL 日志位于 <Domain Home>/servers/<Essbase-Managed-Server-Name>/logs/essbase/essbase/app/<application-name>/<application-name>_ODL.log 中。

有关日志文件位置的详细信息,请参阅 Essbase 平台中的环境位置

何时使用不同的查询跟踪选项

QUERYTRACE 配置设置用于调试单个查询,以防发现任何问题。它将跟踪日志以 query_trace.txt 形式输出到多维数据集目录,并在每次执行查询之前默认清除该文件。QUERYTRACE 不应长期在应用程序配置中启用,因为它可能会影响性能。

TRACE_REPORT 配置设置提供的详细信息比 QUERYTRACE 少,但可以跟踪多个并发查询。TRACE_REPORT 是收集在一段时间内运行的许多并发查询的信息的好选项。

通过在 dbname.cfg(在多维数据集目录中)中设置 QUERYLOG 参数来启用查询日志记录设计用于以 XML 格式跟踪多维数据集的用户查询模式。