查询日志包含强大的诊断信息,可帮助管理员分析与查询性能、错误情形和错误结果有关的问题并进行故障排除。在 Oracle Analytics 中启用查询日志后,分析、优化、执行计划、物理查询、概要统计信息等方面的信息都会写入查询日志。
访问查询日志
注:
工作簿作者也可以访问工作簿中可视化组件的查询信息,例如查询时间、服务器时间和流式传输时间。请参见本主题末尾的访问工作簿的查询日志。查询日志级别
日志级别决定生成的日志量和这些日志的详细程度。
您可以使用系统日志记录级别属性(位于“工具”、“选项”、“资料档案库”下)或使用会话变量定义语义模型 (RPD) 的全局日志级别。
您可以通过向报表高级选项卡中的前缀属性添加 LOGLEVEL
变量来覆盖报表的日志级别。
为避免高速缓存命中,以确保获得完整的日志,除 LOGLEVEL
之外,您还可以添加变量 DISABLE_CACHE_HIT=1
。
LOGLEVEL
) 值的范围介于 0-7 之间。
LOGLEVEL=0
表示禁用日志记录。LOGLEVEL=7
是最高日志记录级别,主要由 Oracle 开发团队使用。LOGLEVEL=2
适用于优化性能和了解基本信息。LOGLEVEL=3
是对行级数据安全筛选器进行故障排除所需的级别。查询日志包含有关查询的信息,包括逻辑请求、导航和执行计划、生成的物理查询、执行时间、在不同执行节点检索到的行数和字节数,以及与高速缓存相关的信息,具体取决于日志级别。
管理员可以通过指定适当的 LOGLEVEL
和变量设置来运行查询,然后从控制台的发出 SQL 语句页提取查询日志。
读取查询日志
会话和查询日志页列出了当前处于活动状态的所有查询和会话。管理员可从控制台访问此页面。
通过页面上的每个条目,可访问特定查询在设置的级别(即在语义模型、会话或报表级别)的查询日志。
在 Oracle Analytics 中,每个请求都有唯一的 requestid
。
逻辑 SQL 查询
下面是 Oracle Analytics 中的示例逻辑 SQL 查询。
以下是您可能会在逻辑 SQL 请求中看到的一些常见变量:
QUERY_SRC_CD
:查询的来源:提示、报表、DV、发出 SQL 语句等。SAW_SRC_PATH
:查询在目录中的路径(如果查询已保存)。SAW_DASHBOARD
:仪表盘在目录中的路径(如果查询包含在仪表盘中)。SAW_DASHBOARD_PG
:仪表盘页的名称。逻辑请求
逻辑请求是指在添加安全筛选器(如果有)后,将来自表示层的查询转换为业务模型和映射层所需的形式。
Oracle Analytics 会根据逻辑请求来决定查询是命中现有高速缓存,还是必须从数据库中检索。
执行计划
执行计划是指将实际逻辑请求转换为经过优化的执行计划。这包括每项操作的传送计划,以及是在数据库中执行还是在 Oracle Analytics 中执行。在 Oracle Analytics 中处理操作时,查询日志会显示 [for database 0:0,0]
。
在查询执行过程中,Oracle Analytics 会精确遍历此树。在详细日志中,执行树的每个节点处都提供了有关所处理行的信息。
物理或数据库请求
Oracle Analytics 会根据执行计划生成要在指定数据库上执行的物理 SQL。可能会向一个或多个数据库发送一个或多个请求。
对于发送到数据库的每个物理请求,都会在日志中记录检索到的行数和字节数。
当存在多个查询时,您可以使用查询 ID(本例中为 1914627
)来准确匹配在 Sending query to the database
部分中记录的查询。这样,当存在多个数据库请求时,您就可以找出为特定查询检索到的行。
一个报表可以向一个或多个数据库发送多个查询,具体取决于报表结构和语义模型定义。例如,在此查询日志中,向数据库发送了 3 个物理查询。
在日志中,对执行计划中的所有节点提供了类似的行处理信息。最后,系统会记录向客户端发送的行数。
日志还包含最终的统计信息概要,其中包括完整的执行时间。您可以结合此处的时间来分析和调查性能问题。
概要统计信息
查询日志注意事项
查询日志记录是单线程活动。在不利的情况下,日志级别大于 2 时,您可能会遇到性能瓶颈。
列出和计算的时间是条目写入日志的时间,这几乎总是事件发生时间(即启动日志条目的活动)。除非存在其他影响日志记录的瓶颈。
查询日志记录用于诊断,并不用于收集使用情况信息。要了解使用情况跟踪,请参见跟踪使用情况。
访问工作簿的查询日志
只有管理员可以通过控制台中的会话和查询日志页访问日志。但是,内容作者可以通过开发人员菜单访问工作簿中可视化查询的日志信息,对于想要对查询性能进行故障排除的作者来说,这是一个非常有用的工具。要访问适用于工作簿的性能工具(开发人员菜单选项),用户必须打开启用开发人员选项开关,此设置位于我的概要信息下的高级菜单中。
启用后,将在工作簿菜单中显示开发人员菜单选项。
通过开发人员选项,用户可以在画布上实时查看和分析任意可视化的各种日志。画布下方会出现一个单独的框,它针对每种类型的信息提供不同的选项卡。默认情况下,运行可视化时不会填充或刷新日志。
选择要分析的可视化,然后单击刷新以生成日志。刷新后,将显示与可视化相关的各种信息,您可以分析特定可视化的日志信息。要分析多项可视化,您必须分别刷新它们,然后逐一分析。
注:
开发人员菜单仅适用于工作簿。对于经典分析和仪表盘,您可以通过会话和查询日志页访问查询日志。