本文为您介绍数据迁移任务中的结构迁移任务支持的操作。
背景信息
结构迁移负责迁移源库中的数据对象定义(表、索引、约束、注释和视图等)至目标库中,会自动过滤临时表。当源端数据库非 OceanBase 数据库时,会依据目标 OceanBase 租户类型的语法定义标准进行数据类型和 SQL 语法的自动转换和拼装,然后复制至目标库中。
数据迁移任务在通过预检查后,会进入 结构迁移 步骤。您可以进入数据迁移任务的详情页面,单击 结构迁移 页签,查看结构迁移的整体状态、启动时间、结束时间、总计耗时,以及表和视图的迁移进度。
结构迁移任务处于 运行中 或 失败 状态时,您可以对不同状态的目标对象进行不同的操作,如下表所示。结构迁移任务处于 已完成 状态时,仅支持查看目标对象的创建语法。
状态 | 支持的操作 |
初始化中 | - |
获取 DDL 成功、创建中和已就绪 | 查看创建语法 |
已完成、已完成(有转换)和已跳过 | 移除、查看创建语法 |
失败 | 重试、跳过、移除、查看错误详情和修改创建语法 |
获取 DDL 失败 | 重试、跳过、查看和修改创建语法 |
不支持 说明 通常源端存在目标端不支持的创建语法时,会出现该状态。 | 跳过、移除、查看和修改创建语法 |
前提条件
已配置并启动数据迁移任务,详情请参见 数据迁移 模块相应类型的配置数据迁移任务文档。
使用限制
本文介绍的结构迁移操作适用于 运行中 或 失败 状态的结构迁移任务,处于 已完成 状态的结构迁移任务仅支持查看目标对象的创建语法。
结构迁移支持迁移表、索引、视图、comments 和 Check 约束,不支持迁移临时表、event、type、function 和 procedure 等对象或者约束。
重试/重试全部失败对象
处于 失败 和 获取 DDL 失败 状态的目标对象,支持进行单个重试或全部重试操作。您可以直接重试,也可以修改对象后再进行重试。
重试单个失败对象:在 结构迁移 页面,单击失败对象操作列的 重试 即可。
重试全部失败对象
在 结构迁移 页面,单击右上角的 重试全部失败对象。
单击对话框中的 确定。
跳过目标对象
处于 失败、获取 DDL 失败 和 不支持 状态的目标对象,支持进行跳过操作。
进行跳过操作的前提是您已在目标端准备相应的迁移对象。如果目标端不存在迁移对象,此处进行跳过操作,在全量迁移步骤会报错。
跳过对象后无法再次发起,请谨慎操作。
跳过目标对象的操作如下:
在 结构迁移 页面,单击目标对象操作列的 跳过。
单击对话框中的 确定。
移除目标对象
处于失败、已完成、已完成(有转换)、已跳过、获取 DDL 失败 和 不支持 状态的目标对象,均支持进行移除操作。
移除对象后,当前数据迁移任务将不再迁移该对象,请谨慎操作。
移除目标对象的操作如下:
在 结构迁移 页面,单击目标对象操作列的 移除。
单击对话框中的 确定。
修改创建语法
处于 失败 和 获取 DDL 失败 状态的目标对象,支持修改表的创建语法。
在 结构迁移 页面,单击目标对象操作列的 修改。
在 修改表创建语法 对话框,对运行失败的 DDL 和报错进行检查,并修改该条 DDL 转换结果的定义。
单击 保存。
查看创建语法
在 结构迁移 页面,单击目标对象操作列的 查看,即可查看表的创建语法。
除 初始化中 和 失败 状态外,其他状态的目标对象均支持查看表的创建语法。
如果表的创建语法完全兼容,将为您展示在 OBServer 节点执行的 DDL 语法。如果不完全兼容,则展示转换后的创建语法。
查看失败对象详情
处于 失败 状态的目标对象,支持查看报错详情。
在 结构迁移 页面,单击目标对象操作列的 查看详情。
在 查看详情 对话框,查看运行失败的原因。