本文档旨在介绍如何通过提交数据清理工单实现归档数据。
背景信息
ODC 支持在源数据库中的数据归档到目标数据库后,删除源数据库中的数据,以提高数据库查询性能,降低在线存储成本。
本文档以新建数据清理为例,介绍如何在 ODC 中清理数据库 test2 中的表 employee。
文中所使用的均为示例数据,您可根据实际情况对数据进行替换。
前提条件
清理的表中必须包含主键。
注意事项
前置条件:
OceanBase 数据源必须通过 OBproxy 连接(暂不支持对直连的 OceanBase 进行清理操作)。
OceanBase 数据源目前仅支持集群实例,新建数据源时必须配置集群名称。
二级分区不支持表结构同步,异构数据库不支持结构同步以及自动建表。
清理数据源支持:
OceanBase MySQL 数据源。
OceanBase Oracle 数据源。
以下情况不支持清理:
OceanBase MySQL 数据源若表中不包含主键 PRIMARY KEY 或唯一非空索引,不支持进行清理。
OceanBase Oracle 数据源若表中不包含主键 PRIMARY KEY,不支持进行清理。
OceanBase Oracle 数据源若表中包含 JSON、XMLTYPE 字段类型,不支持进行清理。
OceanBase Oracle 数据源不支持 V4.3.0 及以上版本。
OceanBase MySQL 数据源不支持 V4.3.1 及以上版本。
若清理条件中包含 limit 语句,不支持进行清理。
若表中包含外键,不支持进行清理。
新建数据归档
在 SQL 开发窗口左侧导航栏的 工单 页签中,单击 数据清理 > 新建数据清理。
在 新建数据清理 页面中,输入以下信息。
信息项
说明
清理前是否需要校验
勾选校验选项,清理前会检查待清理的表数据是否与目标表数据一致,如果数据一致则继续清理,否则不清理。
源端数据库
选择表所属的数据库。
目标数据库
选择校验的表所属数据库。
清理范围
部分清理:通过清理条件清理数据库中部分表。
可使用常量或者引用变量配置中定义的变量来配置过滤条件。例如:
time<'${create_time}'
,其中create_time
为变量配置中的变量名,time
为清理表中的字段。勾选指定分区,支持根据指定的分区清理数据。
整库清理:清理数据库中所有表。
自定义变量
可选项。通过定义变量和设置时间偏移量筛选表中符合条件的行进行清理。
执行方式
选择 立即执行/定时执行/周期执行 设置任务执行方式。
任务设置
配置限流策略。
指定任务时长:任务启动指定时长后,若未完成则会暂停调度,等待下一次调度。
行限流:每秒操作数据总行限制。
数据大小限流:每秒操作数据总大小限制。
使用主键清理:选择是否使用主键清理数据。
备注
可在 备注 文本框中输入不超过 200 个字符的描述信息,该项为选填项。
单击 新建 后,预览清理 SQL 语句并单击 确定,完成新建数据清理。
任务生成后可以在 工单 > 数据清理 列表中查看任务信息。
查看数据清理任务
任务信息
如上图所示,在 工单 的数据清理列表中,单击操作列中的 查看 按钮。
在弹出的任务详情面板中,单击 任务信息 页签查看任务类型、源数据库、目标数据库、变量配置、清理范围和执行方式等信息。
执行记录
在任务详情面板中,单击 执行记录 页签查看任务状态和执行详情等操作。
操作记录
在任务详情面板中,单击 操作记录 页签查看任务的任务审批状态和记录。