首批通过分布式安全可靠测评,为关键业务系统打造
管理分区计划
更新时间:2026-05-26 15:03:17
本文档旨在介绍如何在 ODC 上使用分区计划,包括对新建和删除的表分区进行自动管理。
背景信息
分区计划是专门针对 Range 分区的扩展功能,ODC 支持依据用户设置的分区策略对 Range 分区表进行自动管理,用户无需手动创建新分区,以方便维护 Range 分区表。
Range 分区:Range 分区是最常见的分区类型,通常与日期一起使用。在进行 Range 分区时,数据库根据分区键的值范围将行映射到分区。详情请参见 设置分区规则 和 分区类型。
分区计划:分区计划是专门针对 Range 分区的扩展功能,ODC 支持依据用户设置的分区策略对 Range 分区表进行自动管理,用户无需手动创建新分区,以方便维护 Range 分区表。
创建策略:ODC 支持依据用户设置的分区细则对表进行自动分区。创建分区策略方式包括顺序递增和自定义。
顺序递增:创建分区策略方式,仅适用于时间、数字和字符字段类型。

自定义:创建分区策略方式,所有字段类型支持通过自定义 SQL 表达式创建分区策略。

删除策略:根据设置的分区保留数量保留最新的分区并删除多余的分区。
分区计划执行流程

- 对表设置创建分区策略/删除分区策略。
- 指定策略执行周期。
- 审批任务流程。
- 执行分区计划。
注意事项
仅支持 OceanBase MySQL 和 OceanBase Oracle 数据源。
仅支持 Range 分区表。
Range 分区表中的最后一个分区上限值为 MAXVALUE 时,数据库不允许新增分区,因此不支持通过 ODC 分区计划任务创建分区策略。
分区计划默认每小时的 00 分 00 秒执行。
表如果属于表组(tablegroup),创建分区可能会失败或破坏负载均衡,请谨慎配置创建策略。
新建分区可能会导致表组(tablegroup)失效,因为同属于一个表组的表必须拥有完全一致的分区,而新建分区可能会破坏这种现状,导致表组失效。
表如果包含全局索引,删除分区会导致全局索引失效,请谨慎操作;如果选择重建全局索引可能因耗时较久导致业务问题,或者重建全局索引失败导致线上问题。
重建全局索引选项仅对 Oracle 模式有效,MySQL 模式下无此选项,因 MySQL 模式下默认会重建全局索引。
创建分区计划
示例:在数据源 mysql441 下数据库 doc_test_data_1 中,每隔 1 个月预创建 1 个 order 表分区。
| 信息项 | 示例值 |
|---|---|
| 项目名称 | odc_test_doc |
| 所属数据源 | mysql441 |
| 数据库名称 | doc_test_data_1 |
| 表名称 | order |
在 SQL 窗口中,编辑 SQL 语句以创建表 order。

CREATE TABLE `order` ( `time` date NOT NULL, `parti_key` int(11), `name` varchar(120) DEFAULT NULL ) partition by range columns(time, parti_key) (partition p2023_01 values less than ('2023-01-01', 20230101), partition p2023_02 values less than ('2023-02-01', 20230201))在 SQL 开发窗口的 作业 > 分区计划 > 新建分区计划。

在新建分区计划页面中指定以下信息。
配置项 说明 数据库 指定创建分区计划的目标数据库。 
分区策略 编辑目标表的分区策略。具体配置请参见 设置分区策略 和 分区策略使用示例。 说明
- 勾选 分区策略 右侧的 仅显示未设置的表 时,支持过滤未设置的表。
- 勾选 Range 分区表时,支持批量设置分区策略。

执行方式 - 创建策略执行方式,设置所有的 分区创建策略 的执行时间,支持设定 周期执行、立即执行、定时执行。例如每晚 2 点执行。
- 自定义删除策略执行周期,未勾选时,删除策略执行周期将与创建一致。可以设置所有的 分区删除策略 的执行时机。例如每晚 1 点执行,也可以自定义时间和日期。

作业设置 - 选择任务错误处理方式:
- 停止任务:停止任务为默认方式,运行脚本的过程中出现错误时会停止运行。
- 忽略错误继续任务:选择忽略错误继续任务方式,在运行脚本出现错后将跳过错误语句继续执行。
- 执行超时时间:设置作业超时时间,默认 2 小时。

配置完成后,单击面板下方的 提交 完成创建分区计划任务。
作业生成后可以在 作业 > 分区计划 列表中查看作业信息。

查看分区计划
任务信息
访问 作业 > 分区计划,在分区计划作业列表中,单击目标作业的名称,查看作业详情。也可以通过操作列的 ··· 对目标作业进行更多操作。
- 终止:当作业执行方式为周期执行或定期执行时,可通过终止结束该作业。勾选目标任务,可通过上方的批量操作按钮进行批量终止。
- 禁用/启用:当作业执行方式为周期执行或定期执行时,可通过禁用使该作业暂时停止执行,在重新启用后再次生效。
- 编辑:当作业状态为禁用时,可通过编辑对该作业内容进行更新。
- 删除:当作业状态为已完成或终止时,可通过删除对该作业进行删除操作。
- 查看:查看作业内容详情。
- 克隆:复制该作业执行内容,快速生成相同配置的新建作业界面。
- 分享:快速复制该作业的访问地址。

在弹出的作业详情面板中,默认展示该作业的 基本信息 页签,可以查看作业类型、数据库信息、变量配置、分区策略和执行方式等信息。

在作业详情面板中,单击 执行记录 页签查看作业执行详情。

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

批量导入/导出
批量导出
访问 作业 > 分区计划。
在分区计划列表中,勾选目标任务,单击 批量操作 > 批量导出。

在弹窗中确认导出内容,单击 导出,完成批量导出。

导出完成后,在页面右侧展示导出结果,导出成功后,可以查看密钥,并在本地查看导出文件。
注意
请妥善保存密钥,在导出文件导入时需要使用。

批量导入
访问 作业 > 分区计划。
在分区计划列表中,,单击 新建分区计划 右侧的 ∨ 按钮,选择 导入分区计划。

在导入分区计划弹窗中,选择要导入的文件,填写文件密钥,选择目标项目后,单击 下一步:导入。

勾选要导入的任务并选择目标数据库,勾选 我已确认相关业务风险,单击 导入。

待任务导入完成后,可在列表中进行查看。