查看数据迁移任务的详情

启动数据迁移任务后,您可以在数据迁移任务的详情页面查看相应任务的基本信息、任务执行的进度和状态等信息。

进入详情页面

您可以在数据迁移任务的详情页面查看计划的迁移环节、各个环节的进度和状态,帮助您了解数据库迁移的整体进度,以及每张表、每个对象的迁移状态。

  1. 登录 OceanBase 管理控制台

  2. 在左侧导航栏,单击 数据传输 > 数据迁移

  3. 迁移任务列表 页面,单击目标任务的名称,进入详情页面查看其 基本信息迁移详情

    image.png

    您可以在 数据迁移 页面,根据 状态关键字 搜索目标数据迁移任务。数据迁移任务的状态包括:

    • 未配置:表示数据迁移任务尚未配置,您可以在对应的操作列中单击 配置。

    • 变配中:表示数据迁移任务正在升配实例规格。

      如果当前购买的实例规格无法满足业务需要,您可以对数据迁移任务的实例规格进行升配。详情请参见 数据传输规格说明

    • 未启动:表示数据迁移任务尚未启动,您可以在对应的操作列中单击 启动

    • 运行中:表示数据迁移任务在运行中,您可以查看数据迁移的运行计划和当前进度,并在操作列进行相应操作。

    • 修改中:表示数据迁移任务正在修改迁移对象。

    • 合并中:表示被修改迁移对象的数据迁移任务与修改迁移对象任务进行合并的过程。

    • 已暂停:表示数据迁移任务已被手动中止,您可以在对应的操作列中单击 恢复,从中止的子任务开始继续执行迁移。

      说明

      如果数据迁移任务长期处于 已暂停 状态,受增量日志保留时长等影响,任务可能无法恢复。

    • 失败:表示数据迁移任务执行失败,状态右侧展示该任务失败的具体环节。单击数据迁移任务的名称,您可以在详情页面查看具体的报错信息。

    • 已完成:表示数据迁移任务已成功执行完毕,数据传输已按照您预设的迁移模式将指定的数据内容迁移至目标库中。

    • 结束中:表示数据迁移任务正在被结束运行。结束中的数据迁移任务不能进行任何操作。

    • 已结束:表示数据迁移任务已经成功结束运行。

    您可以对处于 未启动运行中已暂停失败 状态的任务进行修改任务名称操作,详情请参见 修改数据迁移任务的名称

查看基本信息

基本信息 区域为您展示当前数据迁移任务相关的基本信息。

image.png

参数

描述

ID

数据迁移任务的唯一 ID 标识。

迁移类型

配置数据迁移任务时,选择的迁移类型。

告警状态

显示当前任务的告警状态。建议您开启告警监控,以便随时掌握任务运行状态。详情请参见 设置告警

重要

处于 未配置已完成结束中已结束 状态的数据迁移任务,不支持设置或修改告警监控。

创建时间

当前数据迁移任务的创建时间。

连接详情

单击 连接详情,您可以查看数据迁移任务源端和目标端的数据源信息,并可以复制数据源标识。

计费方式

显示当前数据迁移任务的计费方式。

实例规格

购买当前数据迁移任务时,选择的实例规格。规格详情请参见 数据传输规格说明

您可以进行以下操作:

  • 查看迁移对象

    单击页面右上角的 查看对象,查看当前数据迁移任务的迁移对象列表。您还可以在数据迁移任务运行过程中修改迁移对象,详情请参见 查看和修改迁移对象及其过滤条件

  • 升配实例规格

    如果当前购买的实例规格无法满足业务需要,您可以对数据迁移任务的实例规格进行升配。详情请参见 升配实例规格

  • 查看或修改参数配置

    处于 变配中运行中修改中合并中已完成结束中已结束 状态的数据迁移任务,支持查看参数配置。处于 未启动已暂停失败 状态的数据迁移任务,支持修改参数配置。详情请参见 查看和修改迁移参数配置

    此处支持修改的具体参数和数据迁移任务的类型,以及任务运行的阶段有关,不同的运行阶段支持修改的参数不同。

  • 下载对象配置信息

    数据传输支持下载以 指定对象 方式选择迁移对象的数据迁移任务的配置信息,以批量导入的格式输出。详情请参见 下载和导入迁移对象配置

查看迁移详情

迁移详情 区域为您展示当前任务中,所有环节子任务的执行状态、进度、启动时间、完成时间和总计耗时等信息。

结构迁移

负责迁移源库中的数据对象定义(表、索引、约束、注释和视图等)至目标库中,会自动过滤临时表。当源端数据库非 OceanBase 数据库时,会依据目标 OceanBase 租户类型的语法定义标准进行数据类型和 SQL 语法的自动转换和拼装,然后复制至目标库中。当目标端已存在同名的迁移对象时,数据传输将采取默认跳过的逻辑,您需要自行确保源端和目标端表结构的一致性。

如果您在运行数据迁移任务时,进入了正向切换步骤,数据传输会根据数据迁移任务的类型,自动删除隐藏列和唯一索引。详情请参见 数据迁移服务隐藏列机制说明

您可以在 结构迁移 页面,查看结构迁移的状态、启动时间、结束时间、总计耗时,以及库、表和视图的迁移进度。

image.png

同时,您可以对目标对象进行以下操作:

  • 查看创建语法:在 页签下,单击目标对象后的 查看,即可查看库或表的创建语法。

    如果表创建语法完全兼容,为您展示在 OBServer 执行的 DDL 语法。不完全兼容,则展示转换后的创建语法。

  • 修改创建语法并重试:运行失败的 DDL 和报错,您可以检查并修改该条 DDL 转换结果的定义,再次迁移至目标端。

  • 重试/重试全部失败对象:失败的结构迁移任务,您可以依次进行重试,也可以单击页签右上角的 重试全部失败对象

  • 跳过/批量跳过:失败的结构迁移任务,您可以依次跳过。您也可以批量选择需要跳过的对象,单击右上角的 批量跳过

  • 移除/批量移除:失败的结构迁移任务,您可以依次进行移除。您也可以批量选择需要移除的对象,单击右上角的 批量移除

  • 查看数据库返回码:失败的结构迁移任务,展示 DDL 语句和 OBServer 上执行的错误信息。

全量迁移

迁移源库表的存量数据至目标库对应的表中。您可以在 全量迁移 页面,根据源库和目标库进行筛选,或勾选 查看有问题的对象,筛选阻碍整体迁移进度的对象。您还可以查看 表对象表索引全量迁移性能。只有表对象和表索引均迁移完成,全量迁移的状态才会显示已完成。

image.png

  • 表对象 页签,您可以查看对象名称、源库、目标库、预估数据量、已完成数据量和对应的状态。

  • 表索引 页签,您可以查看表对象、源库、目标库、创建时间、结束时间、耗时及其对应的状态。同时,您可以查看索引的创建语法、重试单个或全部失败对象,以及跳过、移除单个或多个失败索引。

  • 全量迁移性能 页签,您可以图形化查看 源端 RPS目标端 RPS源端迁移流量目标端迁移流量源端平均读取时间源端平均切片时间目标端平均写入时间,以及性能基准等性能数据,帮助您有效识别性能相关问题。

    image.png

    全量迁移加上增量同步,可以确保目标端数据库与源端数据库的最终一致性。如果全量迁移过程中有失败的对象,会为您展示具体的失败原因。

    重要

    如果您在选择 迁移类型 时未配置 结构迁移,则全量迁移时,数据传输会以源端和目标端匹配的字段进行迁移,不会检查表结构是否一致。

增量同步

增量同步任务开始后,会同步源库发生变化的数据(新增、修改或删除)至目标端数据库对应的表中。当源库不断有业务写入时,数据传输会在全量数据迁移启动前,启动增量拉取模块,以拉取源实例中的增量更新数据,对其进行解析、封装,并存储至数据传输中。

当全量数据迁移完成后,数据传输会启动增量数据回放模块,从增量数据拉取模块中获取增量数据。增量数据经过过滤、映射和转换后,再同步至目标实例中。如果您在源端执行 DDL 后,造成 JDBCWriter 异常,从而造成数据迁移任务运行失败,页面会展示造成任务失败的 DDL 语句以及跳过操作按钮。此时,您可以单击弹出框中的 跳过,并进行二次确认。

重要

本操作可能造成源端和目标端数据结构不一致,请谨慎操作。

创建数据迁移任务时,建议您开启告警监控,以便随时掌握任务运行状态,详情请参见 设置告警。未开启监控告警的情况下,默认增量同步延时小于等于 1 分钟时,增量同步步骤的状态由运行中切换为监控中。

image.png

开启监控告警的情况下:

  • 如果数据迁移任务的增量同步延时大于配置的告警时间,增量同步步骤始终处于运行中,系统不会触发告警信息。

  • 如果数据迁移任务的增量同步延时小于等于配置的告警时间,增量同步步骤的状态将从运行中切换为监控中。增量同步的状态一旦变为监控中,即使延时大于配置的告警时间,也不会再切换为运行中状态。

对于 运行中 状态的数据迁移任务,您可以在增量同步区域查看其延迟时间、当前位点时间,以及增量同步性能信息。延迟时间的显示逻辑为:X 秒(Y 秒前更新),Y 小于 20 秒属于正常情况。

说明

增量同步 步骤处于 失败已暂停 状态时,您可以单击当前位点时间右侧的编辑图标进行修改。

对于 已暂停失败 状态的数据迁移任务,您可以开启 DDL/DML 统计功能,统计开启该功能时间点之后的数据库操作。同时,您可以查看增量同步对象的具体信息,以及增量同步性能信息。

  • 同步对象统计 页签为您展示表级别的统计 DML 数量,在该页签上方的变更总和、Delete、Insert 和 Update 显示的数据为当前数据迁移任务中所有的 DML 数量,即增量同步对象页签统计的数量之和。

    统计数量

    如果您开启 DDL/DML 统计功能之后又关闭了该功能,则数据传输会保留历史统计数据。

  • 增量同步性能 页签为您展示以下内容:

    • 延迟:源端增量变更被同步至目标端的滞后时间,单位为秒。

    • 迁移流量:源端增量变更数据被同步到目标端的流量吞吐,单位为 KB/s。

    • 平均执行时间:每条 SQL 执行时间的均值,单位为毫秒。

    • 平均提交时间:事务提交时间的均值,单位为毫秒。

    • RPS:每秒处理记录数。

全量校验

在全量数据迁移完成、增量数据迁移至目标端并与源端基本追平后,数据传输会自动发起一轮针对源库配置的数据表和目标表的全量数据校验任务。

增量数据同步过程中,您也可以发起自定义的数据检验,数据传输会提供相应的接口。

您可以在 全量校验 页面查看全量校验的整体状态、启动时间、结束时间、总计耗时、预估总行数、已完成校验行数、RPS 和实时流量等信息。

image.png

全量校验 页面包括 校验对象全量校验性能 页签。

  • 校验对象 页签,您可以查看校验的进度和校验对象列表。

    image

    • 对于全部迁移对象,均可以查看指定对象的名称、对应源库和目标库、全量校验进度、结果和结果摘要。

    • 支持根据源库、目标库或校验结果进行筛选。

    • 支持勾选 只查看已完成对象,查看当前时间点已完成结构迁移的对象名称等基本信息。

    • 如果您需要对全部迁移对象再次进行全量校验,请单击 再次校验 > 重启全量校验

    • 存在校验结果不一致的表时:

      如果您需要获取原始的不一致数据进行校验结果的检查或分析,请单击 下载不一致结果,将不一致结果下载至本地。

      重要

      全量校验 步骤处于 已完成 状态,且存在结果为 不一致 的数据时,支持下载不一致结果。

      如果您需要重新校验表中的全部数据,请单击 再次校验 > 重新校验异常的表

      如果您仅需要重新校验表中不一致的数据,请单击 再次校验 > 仅校验不一致的表记录

      重要

      如果源端为空,则不支持订正操作。

  • 全量校验性能 页签,您可以图形化查看 源端 RPS目标端 RPS源端迁移流量目标端迁移流量,以及性能基准等性能数据,帮助您有效识别性能相关问题。

数据传输支持校验中或校验失败的任务跳过全量校验。在 全量校验 页面,单击 跳过全量校验,并在弹出对话框中,单击 确定

重要

跳过全量校验后,您将无法恢复该校验任务进行数据比对和数据订正,您需要通过克隆当前任务再次发起全量校验,请谨慎操作。

全量校验完成后,您可以单击 进入下一阶段,启动正向切换。进入切换流程后,您将无法复检当前校验任务,以进行数据比对和数据订正。

image.png

正向切换

正向切换(传统意义上的系统割接流程的抽象化、标准化)不会操作业务应用连接的切换,是数据迁移任务配合应用切换需要执行的任务流。您需要保证在应用连接切换至目标端之前完成正向切换的全部流程。

正向切换是数据迁移必不可少的一个步骤。通过正向切换,数据传输可以确保完成了数据正向迁移的相关工作,并且您可以根据业务需求启动反向增量组件。正向切换主要涉及的工作如下:

  1. 您需要自行确认已完成数据迁移,并等待正向同步延迟被追平。

  2. 数据传输将会自动补充目标端为 Oracle 数据库和 OceanBase 数据库 Oracle 租户时,结构迁移阶段忽略的检查类约束、外键约束等对象。

  3. 数据传输将会自动删除迁移依赖的附加隐藏列及唯一索引。

    该操作仅在 Oracle 数据库和 OceanBase 数据库之间,以及 OceanBase 数据库之间的数据迁移任务存在,详情请参见 数据迁移服务隐藏列机制说明

  4. 您需要自行补充迁移源端触发器、函数、存储过程等其它数据传输不支持的数据库对象至目标端。

  5. 您需要自行禁用源端的触发器和外键约束(仅针对数据迁移任务存在反向增量时需要)。

正向切换的步骤如下:

image.png

  1. 启动正向切换

    该步骤为确认开始正向操作,实际后台不会执行任何相关的操作。如果您已确认完成数据迁移,需要进行业务割接,请单击 启动正向切换,开始数据传输正向切换流程。

    重要

    启动正向切换前,请确保源端为已经停写状态。

  2. 切换预检查

    该步骤为正向切换之前的预检查,主要检查以下内容:

    • 源端和目标端延迟检查。如果延迟在 15 秒以内,则检查通过。

    • 源端-账号写权限检查。如果数据迁移任务涉及反向增量,则需要额外检查源端配置的账号是否具备写数据的权限,确保反向增量可以正常写入数据。

    • 目标端-账号增量读权限检查。如果数据迁移任务涉及反向增量,则需要额外检查目标端配置的账号是否具备读取数据的权限,确保反向增量可以正常从目标端读取数据。

    • 目标端-增量日志检查。如果数据迁移任务涉及反向增量,则需要额外检查目标端增量日志配置是否满足反向增量日志抽取要求。

    如果切换预检查通过,数据传输将自动执行下一步操作。如果切换预检查未通过,数据传输提供 重试 跳过 操作。

    重要

    如果您选择跳过,可能会造成目标端数据缺失或反向增量失败等问题,请谨慎操作。

  3. 启动目标端 Store

    说明

    该步骤仅在数据迁移任务存在反向增量阶段时显示。

    如果正向切换预检查通过,数据传输将自动为目标端启动增量日志拉取服务,以获取目标端的 DML、DDL 等操作、解析并保存相关的日志数据,为反向增量阶段进行准备。该步骤预计持续 3~5 分钟左右。

  4. 确认源端停写

    该步骤为确认源端无持续业务写入。如果您确认源端无新增数据,请单击 确定,进入下一步流程。

  5. 确认同步追平停写位点

    该步骤将检查目标端的同步位点是否已经追平至确认源端停写时的位点。如果该步骤处于运行中或失败状态,长时间未追平位点,您可以单击 跳过

    重要

    如果您选择跳过,可能导致源端和目标端的数据不一致,请谨慎操作。

  6. 停止正向同步

    该步骤将停止正向同步服务。停止服务后,该任务中源端产生的任何数据库变更将不再同步至目标端。如果停止服务失败,数据传输提供 重试 跳过 操作。

    重要

    跳过操作仅适用于确认正向同步服务后台已经完成处理时操作,否则可能出现源端数据非预期写入目标端的问题,请谨慎操作。

  7. 执行数据库对象处理

    该步骤用于处理数据迁移阶段忽略或者数据传输暂不支持的对象,以确认业务割接切换至目标端后可以正常工作。

    • 迁移数据库对象至目标端:该操作需要您自行迁移源端触发器、函数、存储过程等其它数据传输不支持的数据库对象至目标端。如果您确认已自行完成迁移,请单击 标记完成

    • 禁用源端触发器外键约束:该操作仅在数据迁移任务中存在反向增量阶段时需要,用于确认反向增量时数据不会受触发器或外键约束影响,从而导致反向增量同步失败。该操作需要您自行完成,如果您确认已自行完成,请单击 标记完成

    • 补充结构迁移阶段忽略的对象至目标端:该操作仅适用于目标端为 Oracle 数据库和 OceanBase 数据库 Oracle 租户,用于在目标端自动补充结构迁移阶段忽略的检查类约束、外键约束等对象。其他目标端的结构迁移默认迁移上述对象,无需额外操作。

    • 删除数据传输附加隐藏列和唯一索引:该操作仅在 Oracle 数据库和 OceanBase 数据库之间,以及 OceanBase 数据库之间的数据迁移任务存在,用于自动删除数据传输为保证数据迁移一致性在目标端附加的隐藏列及唯一索引。该操作会自动运行,执行时间受目标端数据量影响。数据传输在该步骤运行时提供 跳过 操作,但跳过后,您需要自行删除,请谨慎操作。详情请参见 数据迁移服务隐藏列机制说明

  8. 启动反向增量

    说明

    该步骤仅在数据迁移任务存在反向增量阶段时显示。

    该步骤为启动目标端的增量同步服务,用于将目标端的增量 DML 或 DDL 变更实时同步至源端。增量同步的配置和任务创建时的配置保持一致,其中增量 DDL 功能请参见具体数据库的 增量 DDL 说明文档

反向增量

说明

迁移 Oracle 数据库的数据至 OceanBase 数据库 Oracle 租户时,不支持反向增量。

对于 运行中 状态的数据迁移任务,您可以在反向增量区域查看其延迟时间、当前位点时间,以及反向增量性能信息。延迟时间的显示逻辑为:X 秒(Y 秒前更新),Y 小于 20 秒属于正常情况。

说明

反向增量 步骤处于 失败已暂停 状态时,您可以单击当前位点时间右侧的编辑图标进行修改。

对于 已暂停失败 状态的数据迁移任务,您可以开启 DDL/DML 统计功能,统计开启该功能时间点之后的数据库操作。同时,您可以查看反向增量同步对象的具体信息,以及反向增量性能信息。

image.png

  • 同步对象统计 页签为您展示表级别的统计 DML 数量,在该页签上方的变更总和、Delete、Insert 和 Update 显示的数据为当前数据迁移任务中所有的 DML 数量,即 同步对象统计 页签统计的数量之和。

  • 反向增量性能 页签为您展示以下内容:

    • 延迟:目标端增量变更被同步至源端的滞后时间,单位为秒。

    • 迁移流量:目标端增量变更数据被同步至源端的流量吞吐,单位为 KB/s。

    • 平均执行时间:每条 SQL 执行时间的均值,单位为毫秒。

    • 平均提交时间:事务提交时间的均值,单位为毫秒。

    • RPS:每秒处理记录数。