首批通过分布式安全可靠测评,为关键业务系统打造
WR 概述
更新时间:2026-04-15 17:16:59
WR 能够周期性的采集 OceanBase 数据库性能相关视图的数据,更方便我们分析性能诊断相关问题。
WR 简介
Workload Repository(工作负载仓库,简称 WR)通过定期采集 OceanBase 数据库视图的数据信息,记录系统的状态,并提供相关视图用于查看数据库的性能情况。它能够自动化数据收集和保留历史性能数据,以支持性能监控和管理。此外,还可以使用 DBMS_WORKLOAD_REPOSITORY 包进行 WR 相关配置调整,包括定期开启快照、配置快照时间和删除快照等功能。
功能介绍
WR 会周期性的记录 OceanBase 数据库的性能数据,因此可以通过 WR 回溯 OceanBase 数据库过往的性能记录,也可以研究某一具体时间段内的性能相关问题。WR 功能具有以下的特点:
数据自动化与采集:WR 会定期采集指定的性能相关视图,如
V$ACTIVE_SESSION_HISTORY、V$SYSSTAT和V$STATNAME,并对数据进行处理后插入到 META 租户的内部表中。集群部署成功后,WR 会自动创建快照,也可以通过手动修改快照来更改定时器的计时时间。默认情况下,每小时采集一次快照。数据持久化与清理:采集到的数据会被持久化到磁盘上,以实现历史数据的保留。为了避免 WR 占用过多存储空间,WR 会定期删除过期的数据。通常在每天的合并完成后触发删除操作。默认情况下,存储超过七天的快照数据被视为过期数据。
快照采集与删除:WR 提供了 DBMS 包,可以通过 PL/SQL 触发手动采集任务或删除指定的 WR 快照。
快照采集频率可调整:通过 DBMS 包,可以修改定时器线程的时间间隔,以调整 WR 的快照采集频率。
低开销与低负载:WR 在运行时所产生的开销较低,所需的资源消耗和资源使用率很少,不会对系统的性能产生影响。
time model 采集:
time model是以每秒为单位更新数据库中所有会话消耗的数据库时间(DB time)。这是一个累加值,表示在给定时间段内所有会话的总数据库时间。计算公式为:DB time = elapse time - idle wait time = cpu time + non-idle wait time说明
DB time 计算公式中的参数说明:
elapse time:表示操作开始到现在所经过的时间。idle wait time:表示会话处于空闲等待的时间。cpu time:表示在 CPU 上执行的时间。non-idle wait time:表示会话处于非空闲等待的时间。
相关视图
WR 定期采集 OceanBase 数据库的视图主要有以下 3 个:
[G]V$SYSSTAT:oceanbase 数据库中使用最广泛、最能表征数据库运行状况的系统统计值。
V$STATNAME:提供系统统计值的信息,能够准确反映数据库运行状况的各项指标和指标名称。
[G]V$ACTIVE_SESSION_HISTORY:对活跃 Session 每秒采样一次,基于时间序列记录系统的运行状况,WR 会以 10:1(10 个
GV\$ACTIVE_SESSION_HISTORY视图数据对应一行 WR 数据)的采样率进行持久化。
在后续版本中 WR 将会支持更多的性能相关的视图,用于展示有关数据库性能、资源利用和其他重要指标的详细信息。