LONGQUERYTIMETHRESHOLD
通过 LONGQUERYTIMETHRESHOLD 配置设置,可以捕获有关长时间运行的 Essbase 网格和 MDX 查询的统计信息。指定要捕获统计信息的最小查询时间长度(秒)。
- 在 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 秒的查询的信息将输出到 |
| 无阈值的跟踪 - 不推荐! | 设置为 -1 | 设置为 0(或根本不设置) | 有关所有查询的信息(无论运行时间如何)将输出到 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 格式跟踪多维数据集的用户查询模式。