---
title: "数据归档 - 开发者中心 ODC V4.4.2 | OceanBase 文档中心"
description: 数据归档 本文档旨在介绍如何通过提交数据归档作业实现归档数据。 背景信息 ODC 支持定时将源数据库中的表数据归档至其它目标数据库中，以解决因线上数据增多影响查询性能与业务运作的问题。 本文档以新建数据归档为例，介绍如何在 ODC 中将同一项目的数据库 odc_test_data_1 中的表 employee 和 o…
---
切换语言

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

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*lqS5SYzz_YEAAAAAAAAAAAAADiGDAQ/original) 开发者中心 ODCV 4.4.2

# 数据归档

更新时间：2026-05-30 08:31:38

[编辑](https://github.com/oceanbase/odc-doc/edit/V4.4.2/zh-CN/800.data-Lifecycle-management/100.data-archiving.md)  

本文档旨在介绍如何通过提交数据归档作业实现归档数据。

## 背景信息

ODC 支持定时将源数据库中的表数据归档至其它目标数据库中，以解决因线上数据增多影响查询性能与业务运作的问题。

本文档以新建数据归档为例，介绍如何在 ODC 中将同一项目的数据库 odc_test_data_1 中的表 employee 和 order 归档到数据库 odc_test_data_2 中。

#### 说明

文中所使用的均为示例数据，您可根据实际情况对数据进行替换。

## 原理介绍

![1](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/odc/423/800.data-Lifecycle-management/100.data-archiving/1.0.png)

## 注意事项

- 前置条件：

     - 归档的表中必须包含主键，若数据源类型为 OceanBase MySQL 及 MySQL，则包含唯一索引也可进行归档。
     - 用于归档的数据库用户需要拥有读/写权限和内部视图的访问权限。权限配置请参见 [查看用户权限](https://www.oceanbase.com/docs/enterprise-oceanbase-database-cn-10000000000945717)、[用户及权限概述](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000001574340) 和 [修改用户权限](https://www.oceanbase.com/docs/enterprise-oceanbase-database-cn-10000000000945718)。
     - 需保证源端表字段在目标端兼容，数据归档不处理字段兼容性问题。
     - 同构归档链路二级分区不支持表结构同步，异构数据库不支持结构同步以及自动建表。
 - 归档链路支持：

     - OceanBase MySQL 、MySQL 到 OceanBase MySQL。
     - OceanBase Oracle 、Oracle 到 OceanBase Oracle。
     - OceanBase MySQL、MySQL 到 MySQL。
     - OceanBase Oracle 、Oracle 到 Oracle。
     - PostgreSQL 到 OceanBase MySQL。
     - OceanBase MySQL、OceanBase Oracle、MySQL、Oracle、PostgreSQL 到对象存储（OSS、COS、OBS、S3）。
 - 以下情况不支持归档：

     - OceanBase MySQL 数据源若表中包含 XMLTYPE 字段类型，不支持进行归档。
     - OceanBase Oracle 数据源若表中包含 JSON、XMLTYPE 字段类型，不支持归档。
     - PostgreSQL 数据源若表定义中包含数组类型、复合类型、枚举类型、几何类型、XML 类型、HSTORE 类型、全文检索，不支持归档。
     - 若归档条件中包含 LIMIT 语句，不支持归档。
     - 若表中包含外键，不支持归档。
 - 支持自动建表链路

     - OceanBase Oracle 到 OceanBase Oracle。
     - OceanBase MySQL 到 OceanBase MySQL。
     - MySQL 到 MySQL（MySQL 5.7 之前的版本除外）。
 - 支持表结构同步链路

     - OceanBase MySQL 到 OceanBase MySQL。

## 新建数据归档

1. 在 SQL 窗口中，编辑 SQL 语句以创建表 employee 和 order。

    ![](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/odc/433/800.data-Lifecycle-management/100.data-archiving/1.png)

   ```sql
   CREATE TABLE `employee` (
   `emp_no` int(120) NOT NULL COMMENT 'employee number',
   `birthday` date DEFAULT NULL COMMENT 'employee birthday',
   `name` varchar(120) DEFAULT NULL COMMENT 'employee name',
   `time` date NOT NULL COMMENT 'time' COMMENT 'create time',
   PRIMARY KEY (`time`)
   ) partition by range columns(time) (
   partition p2023_01
   values
   less than ('2023-01-01'),
    partition p2023_02
   values
    less than ('2023-02-01')
   );

   CREATE TABLE `order` (
   `time` date NOT NULL,
    `parti_key` int(11),
    `name` varchar(120) DEFAULT NULL,
    PRIMARY KEY (`time`, parti_key)
   ) 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));

   ```
 2. 在数据库列表中右键数据库名称，选择 **作业调度** > **数据归档**，打开新建数据归档页面。您也可以通过左侧导航栏 **作业** > **数据归档** > **新建数据归档** 进行该操作。

   ![1](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/odc/441/800.data-Lifecycle-management/data-archiving-1.png)
 3. 在 **新建数据归档** 页面中，填写以下信息。

   ![2](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/odc/442/data-lifecycle/data-archiving-2.png)

   | 信息项 | 说明 |
   | --- | --- |
   | **源端数据库** | 选择表所属的数据库。   #### 说明    ODC V4.2.2 及之后的版本支持选择 MySQL 数据库，以将 MySQL 中的数据归档到 OceanBase 数据库中。 |
   | **目标数据库** | 选择表归档的数据库。   #### 说明    ODC V4.2.2 及之后的版本支持选择 MySQL 数据库，以将 OceanBase 中的数据归档到 MySQL 数据库中。 |
   | **归档范围** | - 部分归档：通过过滤条件归档源端数据库中部分表。          - 可使用常量或者引用变量配置中定义的变量来配置过滤条件。例如：`time<'${create_time}'`，其中 `create_time` 为变量配置中的变量名，`time` 为归档表中的字段。             #### 说明              在过滤条件设置中可以进行关联表条件的配置。         - 勾选 **指定分区**，支持根据指定的分区归档数据。         - 单击 **+添加**，支持添加一个归档表，将该表归档到目标数据库中。         - 单击 **+批量添加**，支持批量添加多个归档表，同时将多个表归档到目标库中。   - 整库归档：归档源端数据库中所有表。 |
   | **自定义变量** | 可选项。通过定义变量和设置时间偏移量筛选表中符合条件的行进行归档。 |
   | **执行方式** | 选择 **周期执行**/**立即执行**/**定时执行** 设置任务执行方式。 |
   | **限流策略** | 配置限流条件。    - **CPU 使用率**：当 OceanBase 数据库的 CPU 使用率超过该数值时，程序将自动暂停。   - **内存使用率**：内存使用率计算方式为 `MEMSTORE_USED * 100 / MEMSTORE_LIMIT`，若不填写默认根据内存使用量是否超过1.05倍转储内存限流。当 OceanBase 数据库达到内存限流条件时，程序将自动暂停。   - **行限流**：限制程序每秒处理的数据行数在该数值范围内。   - **数据大小限流**：限制程序每秒处理的数据量在该数值附近波动。 |
   | **作业设置** | - **目标表结构不存在时自动创建**：若目标数据库中不存在归档表，则根据源端数据库中的表结构自动创建。   - **通过全表扫描进行数据搜索**：若使用全表扫描方式进行数据搜索，处理过程将更加稳定但性能可能会受到影响。   - **清理源端已归档数据**：若您进行清理，默认立即清理且不做备份；清理任务完成后支持回滚。   - **修改清理时会话级别集群 ID 参数**：当选择清理源端已归档数据时支持勾选。若源端为 OceanBase，可修改会话级别的 cluster_id 参数便于下游工具识别清理记录。参数避免与租户已使用的值重复，以防误识别。   - **数据插入策略**：执行数据归档时，忽略重复数据/更新重复数据。   - **指定任务时长**：任务启动指定时长后，若未完成则会暂停调度，等待下一次调度。 |
 4. 单击页面下方 **预检查**，系统会预执行该作业，并提醒作业配置中的错误内容。

   示例如下：

   ![2-1](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/odc/442/data-lifecycle/data-archiving-2-1.png)
 5. 预检查完成后，单击页面下方 **下一步：预览 SQL**。
 6. 在预览 SQL 界面，检查执行 SQL 语句，设置作业名称后，单击 **确定**，完成新建数据归档。

   ![3](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/odc/441/800.data-Lifecycle-management/data-archiving-3.png)
 7. 任务生成后可以在 **作业** > **数据归档** 列表中查看任务信息。

   ![4](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/odc/441/800.data-Lifecycle-management/data-archiving-4.png)

## 查看数据归档任务

1. 访问 **作业** > **数据归档**，在数据归档作业列表中，单击目标作业的名称，查看作业详情。也可以通过操作列的 **···** 对目标作业进行更多操作。

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

   ![4](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/odc/441/800.data-Lifecycle-management/data-archiving-4.png)
 2. 在弹出的作业详情面板中，默认展示该作业的 **基本信息** 页签，可以查看作业类型、源数据库、目标数据库、变量配置、归档范围和执行方式等信息。

   ![5](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/odc/441/800.data-Lifecycle-management/data-archiving-5.png)
 3. 在作业详情面板中，单击 **执行记录** 页签查看作业状态和执行详情等操作。

   ![6](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/odc/441/800.data-Lifecycle-management/data-archiving-6.png)
 4. 在作业详情面板中，单击 **操作记录** 页签查看作业的审批状态和变更记录。

   ![7](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/odc/441/800.data-Lifecycle-management/data-archiving-7.png)

## 批量导入/导出

### 批量导出

1. 访问 **作业** > **数据归档**。
 2. 在数据归档列表中，勾选目标任务，单击 **批量操作** > **批量导出**。

   ![8](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/odc/442/data-lifecycle/data-archiving-8.png)
 3. 在弹窗中确认导出内容，单击 **导出**，完成批量导出。

   ![9](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/odc/442/data-lifecycle/data-archiving-9.png)
 4. 导出完成后，在页面右侧展示导出结果，导出成功后，可以查看密钥，并在本地查看导出文件。

   #### 注意

   请妥善保存密钥，在导出文件导入时需要使用。

   ![10](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/odc/442/data-lifecycle/data-archiving-10.png)

### 批量导入

1. 访问 **作业** > **数据归档**。
 2. 在数据归档列表中，，单击 **新建数据归档** 右侧的 **∨** 按钮，选择 **导入数据归档**。

   ![11](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/odc/442/data-lifecycle/data-archiving-11.png)
 3. 在导入数据归档弹窗中，选择要导入的文件，填写文件密钥，选择目标项目后，单击 **下一步：导入**。

   ![12](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/odc/442/data-lifecycle/data-archiving-12.png)
 4. 勾选要导入的任务并选择目标数据库，勾选 **我已确认相关业务风险**，单击 **导入**。

   ![13](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/odc/442/data-lifecycle/data-archiving-13.png)
 5. 待任务导入完成后，可在列表中进行查看。

## 相关文档

- [数据清理](https://www.oceanbase.com/docs/common-odc-1000000005551383)

 上一篇 下一篇 ![有帮助](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) 咨询热线
