---
title: "结构迁移操作说明 | OceanBase 文档中心"
description: 结构迁移操作说明 本文为您介绍 OceanBase 迁移服务（OceanBase Migration Service，OMS）社区版数据迁移项目中的结构迁移支持的操作。 背景信息 结构迁移负责迁移源库中的数据对象定义（表、索引、约束、注释和视图等）至目标库中，会自动过滤临时表。当源端数据库非 OceanBase 数据…
image: https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*OSPzQ6GUQF4AAAAAQHAAAAgAeiGDAQ/original
---
切换语言

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

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*L03BS6f-o40AAAAAAAAAAAAADiGDAQ/original) 迁移服务 OMSV 4.2.2 社区版

# 结构迁移操作说明

更新时间：2024-04-17 23:00:00

[编辑](https://github.com/oceanbase/oms-doc/edit/V4.2.2/zh-CN/600.data-migration/1600.migration-function-introduction/900.schema-migration.md)  

本文为您介绍 OceanBase 迁移服务（OceanBase Migration Service，OMS）社区版数据迁移项目中的结构迁移支持的操作。

## 背景信息

结构迁移负责迁移源库中的数据对象定义（表、索引、约束、注释和视图等）至目标库中，会自动过滤临时表。当源端数据库非 OceanBase 数据库时，会依据目标 OceanBase 租户类型的语法定义标准进行数据类型和 SQL 语法的自动转换和拼装，然后复制至目标库中。

数据迁移项目在通过预检查后，会进入 **结构迁移** 步骤。您可以进入数据迁移项目的详情页面，单击 **结构迁移** 页签，查看结构迁移的整体状态、启动时间、结束时间、总计耗时，以及表和视图的迁移进度。

结构迁移任务处于 **运行中** 或 **失败** 状态时，您可以对不同状态的目标对象进行不同的操作，如下表所示。结构迁移任务处于 **已完成** 状态时，仅支持查看目标对象的创建语法。

| 状态 | 支持的操作 |
| --- | --- |
| 初始化中 | - |
| 获取 DDL 成功、创建中和已就绪 | 查看创建语法 |
| 已完成、已完成（有转换）和已跳过 | 移除、查看创建语法 |
| 失败 | 重试、跳过、移除、查看错误详情和修改创建语法 |
| 获取 DDL 失败 | 重试、跳过、查看和修改创建语法 |
| 不支持    通常源端存在目标端不支持的创建语法时，会出现该状态。 | 跳过、移除、查看和修改创建语法 |

## 前提条件

已创建并启动数据迁移项目，详情请参见 [数据迁移](https://www.oceanbase.com/docs/community-oms-cn-1000000000536756) 模块相应类型的创建数据迁移项目文档。

## 使用限制

- 本文介绍的结构迁移操作适用于 **运行中** 或 **失败** 状态的结构迁移任务，处于 **已完成** 状态的结构迁移任务仅支持查看目标对象的创建语法。
 - 结构迁移支持迁移表、索引、视图、comments 和 Check 约束，不支持迁移临时表、event、type、function 和 procedure 等对象或者约束。

## 重试/重试全部失败对象

处于 **失败** 和 **获取 DDL 失败** 状态的目标对象，支持进行单个重试或全部重试操作。您可以直接重试，也可以修改对象后再进行重试。

- 重试单个失败对象：在 **结构迁移** 页面，单击失败对象操作列的 **重试** 即可。
 - 重试全部失败对象

     1. 在 **结构迁移** 页面，单击右上角的 **重试全部失败对象**。
     2. 在对话框，单击 **确定**。

## 跳过目标对象

处于 **失败** 和 **获取 DDL 失败** 和 **不支持** 状态的目标对象，支持进行跳过操作。

#### 注意

- 进行跳过操作的前提是您已在目标端准备相应的迁移对象。如果目标端不存在迁移对象，此处进行跳过操作，在 **全量迁移** 步骤会报错。
 - 跳过对象后无法再次发起，请谨慎操作。

跳过目标对象的操作如下：

1. 在 **结构迁移** 页面，单击目标对象操作列的 **跳过**。
 2. 在对话框，单击 **确定**。

## 移除目标对象

处于 **失败**、**已完成**、**已完成（有转换）**、**已跳过**、**获取 DDL 失败** 和 **不支持** 状态的目标对象，均支持进行移除操作。

#### 注意

移除对象后，当前数据迁移项目将不再迁移该对象，请谨慎操作。

1. 在 **结构迁移** 页面，单击目标对象操作列的 **移除**。
 2. 在对话框，单击 **确定**。

## 修改创建语法

处于 **失败** 和 **获取 DDL 失败** 状态的目标对象，支持修改表的创建语法。

1. 在 **结构迁移** 页面，单击目标对象操作列的 **更多操作** > **修改**。
 2. 在 **修改表创建语法** 对话框，对运行失败的 DDL 和报错进行检查，并修改该条 DDL 转换结果的定义。
 3. 单击 **保存**。

## 查看创建语法

除 **初始化中** 和 **失败** 状态外，其它状态的目标对象均支持查看表的创建语法。

在 **结构迁移** 页面，单击目标对象操作列的 **查看**，即可进行查看。如果表的创建语法完全兼容，将为您展示在 OBServer 节点执行的 DDL 语法。如果不完全兼容，则展示转换后的创建语法。

## 查看失败对象详情

处于 **失败** 状态的目标对象，支持查看报错详情。

1. 在 **结构迁移** 页面，单击目标对象操作列的 **更多操作** > **查看详情**。
 2. 在 **查看详情** 对话框，查看运行失败的原因。

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