---
title: "管理 WR - OceanBase 数据库 V4.2.5 | OceanBase 文档中心"
description: 管理 WR OceanBase 数据库提供了 DBMS 包，您可以使用该包来管理 WR 相关的集群快照，包括手动创建快照、删除特定的快照，以及通过修改定时器线程的时间间隔来调整集群快照的采集频率。 注意 该功能仅支持在 SYS 租户下使用，并且在升级过程中不可用。 创建快照 WR 会自动创建快照，若需要调整快照的收集…
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*P8CuR4UJ_FkAAAAAAAAAAAAADiGDAQ/original) OceanBase 数据库分布式版 - V 4.2.5 LTS

# 管理 WR

更新时间：2026-04-15 17:16:59

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.2.5/zh-CN/700.reference/1000.performance-tuning-guide/400.performance-diagnosis/450.wr-management/200.manage-wr.md)  

OceanBase 数据库提供了 DBMS 包，您可以使用该包来管理 WR 相关的集群快照，包括手动创建快照、删除特定的快照，以及通过修改定时器线程的时间间隔来调整集群快照的采集频率。

#### 注意

该功能仅支持在 SYS 租户下使用，并且在升级过程中不可用。

## 创建快照

WR 会自动创建快照，若需要调整快照的收集时间点，则可以通过手动创建一个新的集群快照，手动创建后，定时器将会按照新设定的时间间隔进行收集数据，命令如下：

```sql
DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT(
    flush_level  VARCHAR(64) DEFAULT 'TYPICAL'
    );

```

其中 `flush_level` 的取值目前仅支持定期快照 (TYPICAL)。这意味着只有在定期快照模式下，才会收集大部分统计数据，示例如下：

```sql
obclient [(none)]> CALL DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT(flush_level => 'TYPICAL');
Query OK, 0 rows affected, 3 warnings (1.112 sec)

```

#### 注意

在手动创建快照后，定时器将会重新计时。例如在默认的间隔为 1 小时的情况下开启定期快照：

- 12:21 定时器触发创建快照
 - 13:21 定时器触发创建下一个快照
 - 13:45 用户手动创建快照
 - 14:45 定时器触发创建下一个快照

经过手动创建快照后，定时器会按照设定的间隔继续触发下一次快照的生成。

## 设置快照策略

### 设置快照间隔和保留时间

通过修改快照间隔和保留时间来调整集群快照的采集频率，命令如下：

```sql
DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS(
   retention          INT    DEFAULT  NULL,
   interval           INT    DEFAULT  NULL
   );

```

相关字段的说明如下：

| 字段 | 说明 |
| --- | --- |
| retention | 一个快照的保留时间，超过这个时间的快照将会被自动删除，单位为分钟。取值范围为 [1440 分钟（1 天），52560000 分钟（100 年）]。   - 如果指定值为 0，则表示永久保留，保留时间将设为 57816000 分钟（110 年） - 如果指定值为 NULL，则保留原来的保留时间 |
| interval | 每个快照之间的间隔设置，单位为分钟。取值范围为 [10 分钟，525600 分钟（1 年）]。   - 如果指定值为 0，则表示禁用自动和手动快照，并使用一个较大的系统定义值（110 年）作为保留时间 - 如果指定值为 NULL，则保留当前的间隔设置 |

例如设置每个快照的保留时间为 2265 分钟（约 1 天 12 小时），并将每个快照之间的间隔设置为 16 分钟，示例如下：

```sql
obclient [(none)]> CALL DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS('2265','16');
Query OK, 0 rows affected (0.006 sec)

```

### 查看快照配置信息

- 通过 `oceanbase.CDB_WR_CONTROL` 视图查看所有租户下 WR 相关的配置信息。

  ```sql
  obclient [oceanbase]> SELECT * FROM oceanbase.CDB_WR_CONTROL;

  ```

  返回结果如下：

  ```sql
    +-----------+---------------+-------------+---------+
    | TENANT_ID | SNAP_INTERVAL | RETENTION   | TOPNSQL |
    +-----------+---------------+-------------+---------+
    |         1 | +0 00:16:00   | +1 13:45:00 |      30 |
    +-----------+---------------+-------------+---------+
    1 row in set (0.018 sec)

  ```

  各字段的解释如下：

  | **字段** | **描述** |
  | --- | --- |
  | TENANT_ID | - 租户ID   - 其他值：用户租户或者 Meta 租户 ID |
  | SNAP_INTERVAL | 每个快照之间的间隔设置，格式为 `DD HH:mm:SS` 方便阅读 |
  | RETENTION | 每个快照之间的保留时间，格式为 `DD HH:mm:SS` 方便阅读 |
  | TOPNSQL | 存储的 topN 的 SQL |

  有关 oceanbase.CDB_WR_CONTROL 视图的更多信息，请参见 [oceanbase.CDB_WR_CONTROL](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000001501326)。
 - 通过 `oceanbase.DBA_WR_CONTROL` 视图查看本租户下 WR 相关的配置信息。

  ```sql
  obclient [oceanbase]> SELECT * FROM oceanbase.DBA_WR_CONTROL;

  ```

  返回结果如下：

  ```sql
    +-----------+---------------+-------------+---------+
    | TENANT_ID | SNAP_INTERVAL | RETENTION   | TOPNSQL |
    +-----------+---------------+-------------+---------+
    |         1 | +0 00:16:00   | +1 13:45:00 |      30 |
    +-----------+---------------+-------------+---------+
    1 row in set (0.003 sec)

  ```

  各字段的解释如下：

  有关 DBA_WR_CONTROL 视图的更多信息，请参见 [oceanbase.DBA_WR_CONTROL](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000001501726)和 [DBA_WR_CONTROL](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000001500853)。
 - 通过 `oceanbase.CDB_WR_SNAPSHOT` 视图查看所有租户的快照信息。

  ```sql
  obclient [oceanbase]> SELECT * FROM oceanbase.CDB_WR_SNAPSHOT limit 1;

  ```

  返回结果如下：

  ```sql
    +------------+-----------+---------+----------------+----------+----------------------------+----------------------------+-----------+----------------------------+
    | CLUSTER_ID | TENANT_ID | SNAP_ID | SVR_IP         | SVR_PORT | BEGIN_INTERVAL_TIME        | END_INTERVAL_TIME          | SNAP_FLAG | STARTUP_TIME               |
    +------------+-----------+---------+----------------+----------+----------------------------+----------------------------+-----------+----------------------------+
    |       4000 |         1 |     114 | xx.xx.xx.xx |     2882 | 2023-09-22 01:20:58.332785 | 2023-09-22 02:20:58.333136 |         0 | 2023-09-21 16:21:41.723234 |
    +------------+-----------+---------+----------------+----------+----------------------------+----------------------------+-----------+----------------------------+
    1 row in set (0.004 sec)

  ```

  各字段的解释如下：

  | **字段** | **描述** |
  | --- | --- |
  | CLUSTER_ID | 集群 ID |
  | TENANT_ID | 租户 ID |
  | SNAP_ID | 快照 ID |
  | SVR_IP | 节点 IP |
  | SVR_PORT | 节点 PORT |
  | BEGIN_INTERVAL_TIME | 快照开始时间，时间戳精确到毫秒 |
  | END_INTERVAL_TIME | 快照结束时间，时间戳精确到毫秒 |
  | SNAP_FLAG | 快照触发原因 |
  | STARTUP_TIME | 进程启动时间，时间戳精确到毫秒 |

  有关 oceanbase.CDB_WR_SNAPSHOT 视图的更多信息，请参见 [oceanbase.CDB_WR_SNAPSHOT](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000001501293)。
 - 通过 `oceanbase.DBA_WR_SNAPSHOT` 视图查看本租户的快照信息。

  ```sql
  obclient [oceanbase]> SELECT * FROM oceanbase.DBA_WR_SNAPSHOT limit 1;

  ```

  返回结果如下：

  ```

  各字段的解释如下：

  有关 DBA_WR_SNAPSHOT 视图的更多信息，请参见 [oceanbase.DBA_WR_SNAPSHOT](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000001501805) 和 [DBA_WR_SNAPSHOT](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000001500818)。

## 删除快照

#### 注意

1. 请确保删除的快照 ID 是有效的存在于系统中的快照 ID。
 2. 执行删除操作后，指定范围内的快照数据将被永久删除，请谨慎操作。

通过指定要删除的快照范围的起始和结束快照 ID，删除指定范围内的快照数据，命令如下：

```sql
DBMS_WORKLOAD_REPOSITORY.DROP_SNAPSHOT_RANGE(
    low_snap_id    INT,
    high_snap_id   INT
    );

```

| 字段 | 说明 |
| --- | --- |
| low_snap_id | 要删除的快照的起始快照 ID |
| high_snap_id | 要删除的快照的结束快照 ID |

**删除快照的过程如下：**

1. 首先要查询租户下所有的 SNAP_ID。

   ```sql
   obclient [oceanbase]> select count(1),min(snap_id), max(snap_id) from oceanbase.DBA_WR_SNAPSHOT;

   ```

   返回结果如下：

   ```sql
   +-----------+--------------+--------------+
   | count(1) | min(snap_id) | max(snap_id) |
   +-----------+--------------+--------------+
   |         1 |            2 |            2 |
   +-----------+--------------+--------------+
   1 row in set (0.039 sec)

   ```
 2. 删除 SNAP_ID 范围内的快照数据。

   ```sql
   obclient [oceanbase]> CALL DBMS_WORKLOAD_REPOSITORY.DROP_SNAPSHOT_RANGE('2','2');
   Query OK, 0 rows affected (1.018 sec)

   ```
 3. 查看 SNAP_ID 是否删除成功。

   ```

## 相关文档

- [WR 概述](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000001500497)
 - [监测历史会话性能](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000001500498)
 - [清理 WR 数据](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000001500496)

 上一篇 下一篇 ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
