管理员可以利用使用情况跟踪来跟踪对内容的用户级别查询。
跟踪使用情况非常有用,您可以根据查询频率和响应时间来判断哪些用户查询导致了性能瓶颈。管理员可以设置合适的标准来跟踪用户查询并生成使用情况报告,然后这些报告可以用在很多方面,例如,数据库优化、聚合策略或者根据用户或部门消耗的资源对其收费。
可以在提供企业建模功能的服务中配置使用情况跟踪。系统在详细的用户查询级别跟踪使用情况信息,因此您可以回答下列问题:
您收集的使用情况统计信息可以帮助您监视系统使用情况和性能,以便您可以更好地了解和预测用户行为。如果您提前知道系统可能的使用方式,可以提高效率并减少错误。
启用使用情况跟踪后,系统会收集运行的每个查询的数据记录,并将其全部写入数据库表。逻辑查询和物理查询以及各种性能度量(例如,运行查询所用时间和处理用户查询时搜索的行数)都会进行跟踪并记录在单独的表中。
如果要跟踪使用情况,请确认是否满足以下先决条件:
要配置使用情况跟踪,必须使用语义建模器或模型管理工具向语义模型添加使用情况跟踪数据库详细信息。
您必须具有有权在数据库方案上创建使用情况跟踪表以及向这些表写入使用情况数据的用户的身份证明。
选中系统连接复选框时,连接在语义建模器中变为可用。同样,在模型管理工具中,通过系统连接选项,您可以选择使用数据连接并输入连接的对象 ID,而不是在数据源名称字段中手动输入连接详细信息。请参见指定使用情况跟踪数据库。
注:
如果使用模型管理工具,您还可以使用控制台为语义模型和使用情况跟踪数据库定义数据库连接。请参见连接到 Oracle Cloud 数据库中的数据。如果使用控制台,则在模型管理工具中指定使用情况跟踪数据库时,可以选择使用控制台连接并输入连接的名称,而不是在数据源名称字段中输入连接详细信息。
系统在您指定的数据库中存储使用情况跟踪详细信息。该数据库可以是 Oracle 数据库或 Oracle Autonomous Data Warehouse。您可以使用语义建模器或模型管理工具在语义模型中指定数据库和连接池详细信息。
请参见指定使用情况跟踪数据库。
指定要存储使用情况跟踪信息的数据库后,必须通过控制台(高级系统设置页)设置各种使用情况跟踪参数。
配置使用情况跟踪所需的参数:
请参见设置使用情况跟踪参数。
系统在三个数据库表中存储使用情况跟踪数据。
使用情况跟踪逻辑查询日志记录表
TOTAL_TIME_SEC
等于 END_TS
减去 START_TS
。这些列不提供这样的确切值,因为:
与用户、会话和 ID 相关的列
列 | 说明 |
---|---|
|
在逻辑查询表中,此列表示唯一的行标识符。在物理查询表中,此列的名称为 |
|
包含 |
|
指明目录的名称。默认值为空值,数据类型为 Varchar(128)。 |
|
指定模拟的用户的用户名。如果请求不是以模拟的用户的身份运行的,则此值为“无”。默认值为“无”,数据类型为 Varchar(128)。 |
|
指定提交查询的用户的名称。 |
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 设置为任何用来标识其自身的字符串值。 可能的值包括:
|
|
指明仪表盘的路径名称。如果查询不是通过仪表盘提交的,则此值为空值。 |
|
指明仪表盘中的页面名称。如果请求不是仪表盘请求,则值为空值。默认值为空值,数据类型为 Varchar(150)。 |
|
指定目录中用于分析的路径名称。 |
与查询详细信息相关的列
列 | 说明 |
---|---|
|
包含来自后端数据库的错误消息。此列仅在 |
|
包含没有任何截断的整个逻辑 SQL 语句。 |
|
包含由系统基于逻辑 SQL 语句生成的 MD5 散列散列键。默认值为空值,数据类型为 Varchar(128)。 |
|
指明为查询提交的 SQL 语句。数据类型为 Varchar(1024)。 您可以更改此列的长度(使用 ALTER TABLE 命令),但请注意,写入到此列中的文本始终会被截断为在物理层中定义的大小。语义模型管理员为此列设置的长度值不得大于后端物理数据库支持的最大查询长度。例如,Oracle 数据库启用了最大为 4000 的 Varchar,但 Oracle 数据库将截断为 4000 字节而不是 4000 字符。如果您使用多字节字符集,则实际的最大字符串大小对应的字符数会变化,具体取决于所使用的字符集和字符。 |
|
指定查询访问的语义模型的名称。 |
|
包含所访问的业务模型的名称。 |
|
指明查询的完成状态,如以下列表中的定义:
|
与执行计时相关的列
列 | 说明 |
---|---|
|
包含对查询进行编译所需的时间(秒)。 |
|
指明完成逻辑查询的日期。 |
|
指明完成逻辑查询的小时和分钟。 |
|
指明完成逻辑查询的日期和时间。开始和结束时间戳还反映了查询等待资源变得可用所花费的时间。如果提交查询的用户在查询完成之前离开该页面,则不会进行最终提取并记录超时值 3600。但是,如果用户在超时之前导航回页面,则提取将在那个时间完成,这将记录为 |
|
指明提交逻辑查询的日期。 |
|
指明提交逻辑查询时的小时和分钟。 |
|
指明提交逻辑查询的日期和时间。 |
|
指明当客户端等待对其分析的响应时,系统在处理查询时花费的时间(秒)。 |
RESP_TIME_SEC |
指示查询响应所用时间。数据类型为 Number(10)。 |
与执行详细信息相关的列
列 | 说明 |
---|---|
|
包含发送到数据库的所有查询的累积时间。查询是并行运行的,因此累积查询时间等于或大于连接到数据库的总时间。例如,假设某个逻辑请求衍生了发送到数据库的 4 个物理 SQL 语句,并且其中 3 个查询的查询时间为 10 秒,另一个查询的查询时间为 15 秒,则 |
|
包含后端数据库返回的总行数。 |
|
指明提交到后端数据库来满足逻辑查询请求的查询数。对于成功的查询 (SuccessFlag = 0),此数字为 1 或更大的值。 |
|
指明返回到查询客户端的行数。从查询返回了大量数据时,在用户显示所有数据之前,此列不会填充。 |
TOTAL_TEMP_KB |
指定执行查询收到的总 KB。数据类型为 Number(10)。 |
与高速缓存相关的列
列 | 说明 |
---|---|
|
存储值为 Y 时表示查询存在高速缓存命中;为 N 时表示高速缓存未命中。默认值为 N。 |
|
指明为查询返回缓存结果的命中数。 |
|
指明查询生成高速缓存条目的次数。默认值为空值。 |
使用情况跟踪物理查询日志记录表
下表介绍了跟踪物理查询的数据库表。此数据库表记录了存储在逻辑查询日志记录表中的逻辑查询的物理 SQL 信息。物理查询表具有到逻辑查询表的外键关系。
与用户、会话和 ID 相关的列
列 | 说明 |
---|---|
|
指定唯一的行标识符。 |
|
请参阅逻辑查询日志记录表中的逻辑查询。数据类型为 Varchar(250)。 |
HASH_ID |
指示逻辑查询的 HASH 值。数据类型为 Varchar(2128)。 |
PHYSICAL_HASH_ID |
指示物理查询的 HASH 值。数据类型为 Varchar(2128)。 |
与查询详细信息相关的列
列 | 说明 |
---|---|
|
包含没有任何截断的整个物理 SQL 语句。 |
|
包含为查询提交的 SQL 语句。数据类型为 Varchar(1024)。 |
与执行计时相关的列
列 | 说明 |
---|---|
|
指明完成物理查询的日期。 |
|
指明完成物理查询时的小时和分钟。 |
|
指明完成物理查询的日期和时间。开始和结束时间戳还反映了查询等待资源变得可用所花费的时间。 |
|
指明物理查询执行时间。 |
|
指明提交物理查询的日期。 |
|
指明提交物理查询时的小时和分钟。 |
|
指明提交物理查询的日期和时间。 |
与执行详细信息相关的列
列 | 说明 |
---|---|
|
包含返回到查询客户端的行数。 |
使用情况跟踪初始化块表
注:
目前,初始化块使用情况跟踪表仅包含会话初始化块,不包含语义模型初始化块。与用户、会话和 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)。 |
下面列出了用于跟踪用户级别对 Oracle Analytics Cloud 中内容的查询的任务。
任务 | 说明 | 详细信息 |
---|---|---|
决定使用情况跟踪数据的存储位置 |
了解可用于使用情况跟踪的数据库类型。 |
|
设置与使用情况跟踪数据库的连接。 |
创建与要存储使用情况跟踪信息的数据库的数据连接(或控制台连接)。 |
|
指定使用情况跟踪数据库 |
在语义模型中定义使用情况跟踪数据库。 |
|
指定使用情况跟踪参数 |
为系统启用使用情况跟踪,然后指定使用情况跟踪数据库的连接详细信息和表名。 |
|
分析使用情况跟踪数据 |
从使用情况跟踪数据创建使用情况报表。 |
您必须先指定要在语义模型中存储使用情况跟踪数据的数据库,然后才能跟踪系统上的报表、仪表盘和数据可视化工作簿的使用情况。
指定的数据库必须至少定义了一个方案。系统会在名称匹配您在数据库连接详细信息中指定的用户名的方案中创建使用情况跟踪表。例如,如果方案在使用情况跟踪数据库中的名称为 “UT_Schema”,则必须在连接的用户名字段中指定 "UT_Schema"。将在名为 “UT_Schema” 的方案中创建使用情况跟踪表。
您必须在语义模型的物理层中配置数据库和连接池详细信息。使用语义建模器或模型管理工具配置使用情况跟踪数据库。
如果要使用 Oracle Autonomous Data Warehouse 作为使用情况跟踪数据库,请在指定使用情况跟踪数据库之前完成与 Oracle Autonomous Data Warehouse 相关的一些附加任务。请参见使用情况跟踪的先决条件。
要开始记录使用情况信息,您必须指定要使用的数据库的连接详细信息以及用于跟踪使用情况的数据库表的名称。您可以通过控制台(高级系统设置页)设置这些参数。
Oracle Analytics 将创建使用情况跟踪表并开始记录用户查询。