首批通过分布式安全可靠测评,为关键业务系统打造
数据清理
更新时间:2026-04-13 15:40:48
背景信息
ODC 支持在源数据库中的数据归档到目标数据库后,删除源数据库中的数据,以提高数据库查询性能,降低在线存储成本。
本文档旨在介绍如何通过提交数据清理工单实现归档数据。
原理介绍

前提条件
- 清理的表中必须包含主键。
注意事项
前置条件:
OceanBase 数据源必须通过 OBproxy 连接(暂不支持对直连的 OceanBase 进行归档操作)。
OceanBase 数据源目前仅支持集群实例,新建数据源时必须配置集群名称。
OceanBase 数据源必须配置 sys 租户账号。
MySQL 数据源暂不支持 CPU 内存防爆能力。
清理数据源支持:
OceanBase MySQL 数据源。
MySQL 数据源。
以下情况不支持清理:
若表中不包含主键 PRIMARY KEY,不支持进行清理。
若表中包含 bit、enum、set、xml、geometry 字段类型,不支持进行清理。
若归档条件中包含 limit 语句,不支持进行清理。
若表中包含外键,不支持进行清理。
新建数据清理
示例:清理数据库 odc_test 中的表 student。
| 信息项 | 示例值 |
|---|---|
| 所属数据源 | mysql_4.2.0 |
| 源端数据库名称 | odc_test |
| 表名称 | student |
在 SQL 开发窗口左侧导航栏的 任务 页签中,单击 数据清理 > 新建数据清理。

在 新建数据清理 页面中,输入以下信息。

信息项 说明 源端数据库 选择表所属的数据库。 变量配置 可选项。通过定义变量和设置时间偏移量筛选表中符合条件的行进行清理。 清理范围 - 部分清理:通过清理条件清理数据库中部分表。
可使用常量或者引用变量配置中定义的变量来配置过滤条件。例如:create<'${create_time}',其中create_time为变量配置中的变量名,create为归档表中的字段。 - 整库清理:清理数据库中所有表。
执行方式 选择 立即执行 / 定时执行 / 周期执行 设置任务执行方式。 任务设置 配置限流策略。 - 行限流:每秒操作数据总行限制。
- 数据大小限流:每秒操作数据总大小限制。
备注 可在 备注 文本框中输入不超过 200 个字符的描述信息,该项为选填项。 - 部分清理:通过清理条件清理数据库中部分表。
单击 新建,完成新建数据清理。
任务生成后可以在 工单 > 数据清理 列表中查看任务信息。

查看数据清理任务
任务信息
在 任务中心 的数据清理列表中,单击操作列中的 查看 按钮。
在弹出的任务详情面板中,单击 任务信息 页签查看任务类型、源数据库、目标数据库、变量配置、归档范围和执行方式等信息。

任务流程
在任务详情面板中,单击 任务流程 页签查看发起任务状态、审批状态、执行状态和执行结果等信息。
执行记录
在任务详情面板中,单击 执行记录 页签查看任务状态,以及执行重试/回滚等操作。
任务日志

在任务详情面板中,单击 操作 页签查看任务的任务审批状态和记录。