了解使用情况跟踪表

系统在三个数据库表中存储使用情况跟踪数据。

使用情况跟踪过程会使用您通过“系统设置”页面中的设置指定的表名创建这些表。

  • 使用情况跟踪逻辑查询日志记录表
  • 使用情况跟踪物理查询日志记录表
  • 使用情况跟踪初始化块表

请参见设置使用情况跟踪参数

使用情况跟踪逻辑查询日志记录表

下表介绍了跟踪逻辑查询的数据库表中的每个列。适用情况下,指定数据类型(例如可变字符字段 varchar 和 varchar2)和长度。查看此表中的说明时,您可能会认为加上或减去某些与时间相关的列可以得到确切值。例如,您可能会认为 TOTAL_TIME_SEC 等于 END_TS 减去 START_TS。这些列不提供这样的确切值,因为:
  • 各种进程是并行运行的,其速度取决于负载和数据库性能。基于服务器的操作可能是轻量级的,也可能是密集型的。
  • 如果所有连接都已占用,查询将进入队列等待处理。计时取决于负载和配置。

与用户、会话和 ID 相关的列

说明

ID

在逻辑查询表中,此列表示唯一的行标识符。在物理查询表中,此列的名称为 LOGICAL_QUERY_ID

NODE_ID

包含 <hostname>:obis1。例如,examplehost:obis1(对于单个实例)。

PRESENTATION_NAME

指明目录的名称。默认值为空值,数据类型为 Varchar(128)。

IMPERSONATOR_USER_NAME

指定模拟的用户的用户名。如果请求不是以模拟的用户的身份运行的,则此值为“无”。默认值为“无”,数据类型为 Varchar(128)。

USER_NAME

指定提交查询的用户的名称。

ECID 指示系统生成的执行上下文 ID。数据类型为 Varchar(21024)。
TENANT_ID 指定运行初始化块的用户的租户名称。数据类型为 Varchar(2128)。
SERVICE_NAME 指定服务的名称。数据类型为 Varchar(2128)。
SESSION_ID 指示会话的 ID。数据类型为 Number(10)。
HASH_ID 指示逻辑查询的 HASH 值。数据类型为 Varchar(2128)。

与查询源相关的列

说明

QUERY_SRC_CD

请求的来源。

请注意,请求者可以将 QUERY_SRC_CD 设置为任何用来标识其自身的字符串值。

可能的值包括:
  • Report — 如果源是某个分析或任何导出操作。
  • Drill — 如果源为由向上或向下钻探导致的维更改。
  • ValuePrompt — 如果源为筛选器对话框或仪表盘提示中的“值”下拉列表。
  • VisualAnalyzer — 如果源为用于进行数据可视化的工作簿。
  • DisplayValueMap、MemberBrowserDisplayValues 或 MemberBrowserPath — 如果源为与分析显示相关的值。
  • SOAP — 如果源为来自 Web 服务的调用,例如 DataSetSvc。
  • Seed — 如果源是植入分析服务器的高速缓存的代理。
  • Null — 如果源为管理工具物理表或列行计数,或视图数据。

SAW_DASHBOARD

指明仪表盘的路径名称。如果查询不是通过仪表盘提交的,则此值为空值。

SAW_DASHBOARD_PG

指明仪表盘中的页面名称。如果请求不是仪表盘请求,则值为空值。默认值为空值,数据类型为 Varchar(150)。

SAW_SRC_PATH

指定目录中用于分析的路径名称。

与查询详细信息相关的列

说明

ERROR_TEXT

包含来自后端数据库的错误消息。此列仅在 SUCCESS_FLAG 设置为非 0(零)值时适用。多条消息连接在一起,并且不会由系统进行语法分析。默认值为空值,数据类型为 Varchar(250)。

QUERY_BLOB

包含没有任何截断的整个逻辑 SQL 语句。QUERY_BLOB 列是 Long 类型的字符串。

QUERY_KEY

包含由系统基于逻辑 SQL 语句生成的 MD5 散列散列键。默认值为空值,数据类型为 Varchar(128)。

QUERY_TEXT

指明为查询提交的 SQL 语句。数据类型为 Varchar(1024)。

您可以更改此列的长度(使用 ALTER TABLE 命令),但请注意,写入到此列中的文本始终会被截断为在物理层中定义的大小。语义模型管理员为此列设置的长度值不得大于后端物理数据库支持的最大查询长度。例如,Oracle 数据库启用了最大为 4000 的 Varchar,但 Oracle 数据库将截断为 4000 字节而不是 4000 字符。如果您使用多字节字符集,则实际的最大字符串大小对应的字符数会变化,具体取决于所使用的字符集和字符。

REPOSITORY_NAME

指定查询访问的语义模型的名称。

SUBJECT_AREA_NAME

包含所访问的业务模型的名称。

SUCCESS_FLG

指明查询的完成状态,如以下列表中的定义:

  • 0 — 查询已成功完成,无错误。
  • 1 — 查询超时。
  • 2 — 查询因超出了行限制而失败。
  • 3 — 查询因其他原因而失败。

与执行计时相关的列

说明

COMPILE_TIME_SEC

包含对查询进行编译所需的时间(秒)。COMPILE_TIME_SEC 的数目包括在 TOTAL_TIME_SEC 中。

END_DT

指明完成逻辑查询的日期。

END_HOUR_MIN

指明完成逻辑查询的小时和分钟。

END_TS

指明完成逻辑查询的日期和时间。开始和结束时间戳还反映了查询等待资源变得可用所花费的时间。如果提交查询的用户在查询完成之前离开该页面,则不会进行最终提取并记录超时值 3600。但是,如果用户在超时之前导航回页面,则提取将在那个时间完成,这将记录为 end_ts 时间。

START_DT

指明提交逻辑查询的日期。

START_HOUR_MIN

指明提交逻辑查询时的小时和分钟。

START_TS

指明提交逻辑查询的日期和时间。

TOTAL_TIME_SEC

指明当客户端等待对其分析的响应时,系统在处理查询时花费的时间(秒)。TOTAL_TIME_SEC 包括 COMPILE_TIME_SEC 的时间。

RESP_TIME_SEC 指示查询响应所用时间。数据类型为 Number(10)。

与执行详细信息相关的列

说明

CUM_DB_TIME_SEC

包含发送到数据库的所有查询的累积时间。查询是并行运行的,因此累积查询时间等于或大于连接到数据库的总时间。例如,假设某个逻辑请求衍生了发送到数据库的 4 个物理 SQL 语句,并且其中 3 个查询的查询时间为 10 秒,另一个查询的查询时间为 15 秒,则 CUM_DB_TIME_SEC 将显示 45 秒,因为查询是并行运行的。

CUM_NUM_DB_ROW

包含后端数据库返回的总行数。

NUM_DB_QUERY

指明提交到后端数据库来满足逻辑查询请求的查询数。对于成功的查询 (SuccessFlag = 0),此数字为 1 或更大的值。

ROW_COUNT

指明返回到查询客户端的行数。从查询返回了大量数据时,在用户显示所有数据之前,此列不会填充。

TOTAL_TEMP_KB 指定执行查询收到的总 KB。数据类型为 Number(10)。

与高速缓存相关的列

说明

CACHE_IND_FLG

存储值为 Y 时表示查询存在高速缓存命中;为 N 时表示高速缓存未命中。默认值为 N。

NUM_CACHE_HITS

指明为查询返回缓存结果的命中数。NUM_CACHE_HITS 是一个二进制 32 位整数(或十进制 10 位整数)。默认值为空值。

NUM_CACHE_INSERTED

指明查询生成高速缓存条目的次数。默认值为空值。NUM_CACHE_INSERTED 是一个二进制 32 位整数(或十进制 10 位整数)。

使用情况跟踪物理查询日志记录表

下表介绍了跟踪物理查询的数据库表。此数据库表记录了存储在逻辑查询日志记录表中的逻辑查询的物理 SQL 信息。物理查询表具有到逻辑查询表的外键关系。

与用户、会话和 ID 相关的列

说明

ID

指定唯一的行标识符。

LOGICAL_QUERY_ID

请参阅逻辑查询日志记录表中的逻辑查询。数据类型为 Varchar(250)。

HASH_ID 指示逻辑查询的 HASH 值。数据类型为 Varchar(2128)。
PHYSICAL_HASH_ID 指示物理查询的 HASH 值。数据类型为 Varchar(2128)。

与查询详细信息相关的列

说明

QUERY_BLOB

包含没有任何截断的整个物理 SQL 语句。QUERY_BLOB 列是 Long 类型的字符串。

QUERY_TEXT

包含为查询提交的 SQL 语句。数据类型为 Varchar(1024)。

与执行计时相关的列

说明

END_DT

指明完成物理查询的日期。

END_HOUR_MIN

指明完成物理查询时的小时和分钟。

END_TS

指明完成物理查询的日期和时间。开始和结束时间戳还反映了查询等待资源变得可用所花费的时间。

TIME_SEC

指明物理查询执行时间。

START_DT

指明提交物理查询的日期。

START_HOUR_MIN

指明提交物理查询时的小时和分钟。

START_TS

指明提交物理查询的日期和时间。

与执行详细信息相关的列

说明

ROW_COUNT

包含返回到查询客户端的行数。

使用情况跟踪初始化块表

下表介绍了跟踪有关初始化块的信息的数据库表。

注:

目前,初始化块使用情况跟踪表仅包含会话初始化块,不包含语义模型初始化块。

与用户、会话和 ID 相关的列

说明
USER_NAME 运行初始化块的用户的名称。数据类型为 Varchar2(128)。
TENANT_ID 运行初始化块的用户的租户名称。数据类型为 Varchar2(128)。
SERVICE_NAME 服务的名称。数据类型为 Varchar2(128)。
ECID 系统生成的执行上下文 ID。数据类型为 Varchar2(1024)。
SESSION_ID 会话的 ID。数据类型为 Number(10)。

与查询详细信息相关的列

说明
REPOSITORY_NAME 查询访问的语义模型的名称。数据类型为 Varchar2(128)。
BLOCK_NAME 运行的初始化块的名称。数据类型为 Varchar2(128)。

与执行计时相关的列

说明
START_TS 初始化块的启动日期和时间。
END_TS 初始化块的完成日期和时间。开始和结束时间戳还反映了查询等待资源变得可用所花费的时间。
DURATION 运行初始化块所用时间长度。数据类型为 Number(13,3)。

与执行详细信息相关的列

说明
NOTES 有关初始化块及其运行的注释。数据类型为 Varchar2(1024)。