迁移评估
迁移评估用于在数据库迁移前,对源数据库与目标数据库之间的对象兼容性和 SQL 兼容性进行系统分析,帮助您提前识别迁移风险、评估改造工作量,并为后续迁移实施提供依据。
NineData 当前支持以下迁移评估场景:
- MySQL > PostgreSQL
- MySQL > He3DB for PostgreSQL
- Oracle > PostgreSQL
- Oracle > He3DB for PostgreSQL
前提条件
- 已将参与迁移评估的源数据源添加至 NineData。如何添加,请参见添加数据源。
- 源数据源类型为 MySQL 或 Oracle。
- 目标数据库类型为 PostgreSQL 或 He3DB for PostgreSQL。
- 执行迁移评估的账号具备对应数据源的访问权限。
创建迁移评估任务
登录 NineData 控制台。
在左侧导航栏单击 数据复制 > 迁移评估。
迁移评估,单击创建评估,按照下表配置评估任务的基础信息。
参数 说明 任务名称 输入迁移评估任务名称,用于后续查找和管理,最多支持 64 个字符。 源数据源 选择需要迁出的源数据源。 评估数据库类型 选择目标数据库类型。 评估内容 选择评估内容,支持多选: - 数据库对象:判断数据库的结构(表和非表对象)在目标数据库中是否可直接使用,是否需要改造。
- SQL 文本:判断业务 SQL 在目标数据库中的语法和函数兼容性,评估 SQL 改造工作量。
SQL 文本采集方式 当评估内容包含 SQL 文本时配置。支持: - 从数据库采集:直接从选定的数据库中采集 SQL 执行记录。
- 文件导入:从上传的 SQL 文件中采集。选择该项时需要在下方的上传文件选项中手动上传 SQL 文件,支持 5 GB 以内的 ZIP、SQL、TXT 类型文件。
采集 SQL 语法 当评估内容包含 SQL 文本时配置。选择需要采集的 SQL 语法类型,用于限定参与评估的 SQL 范围。其中,其他特指页面中未标注出来的其他语法。 评估内容中包含了数据库对象,或者SQL 文本采集方式为从数据库采集,则单击下一步,配置对象采集范围。反之则单击保存并启动,评估任务创建成功。
在评估对象页面,选择需要采集的内容,您可以选择全部实例采集源库所有内容,也可以选择自定义对象,在源对象列表中选中需要采集的内容,单击>添加到右侧目标对象列表。
配置完成后,可执行以下操作:
- 单击保存并启动:立即启动评估任务。
- 单击保存:仅保存任务配置,不立即执行。可后续在迁移评估列表中单击启动,启动评估任务。
查看迁移评估任务列表
登录 NineData 控制台。
在左侧导航栏单击数据复制 > 迁移评估。迁移评估任务列表页面展示所有已创建的评估任务,页面字段说明如下。
参数 说明 任务 ID 显示迁移评估任务名称及系统生成的唯一任务 ID。 源数据源 显示源数据源名称及连接地址(IP:PORT)。 评估数据库类型 显示评估数据源的类型。 创建人 创建该评估任务的用户。 创建时间 评估任务的创建时间。 状态 当前评估任务状态。 操作 根据任务状态提供对应操作入口。
查看迁移评估任务详情
登录 NineData 控制台。
在左侧导航栏单击数据复制 > 迁移评估。单击目标任务的任务 ID,即可进入迁移评估任务详情页面,该页面包含如下几个模块:

序号 功能 说明 1 任务概览区 集中展示当前迁移评估任务的核心信息和配置摘要,包含以下内容: - 任务名称 / 任务 ID:显示迁移评估任务名称及系统生成的唯一任务 ID,用于问题定位和技术支持。
- 任务状态:展示当前的任务状态。
- 风险级别:基于评估结果自动计算的整体迁移风险等级(高 / 中 / 低)。
- 兼容度:综合对象评估和 SQL 评估计算得出的总体兼容百分比。
- 创建人 / 创建时间:显示任务创建用户及创建时间。
- 迁出数据库 → 迁入数据库:显示源数据库以及目标待评估数据库的类型。
- 评估内容:展示本次评估包含的内容类型。
- SQL 文本采集方式:展示本次评估采集 SQL 的方式。
- 采集 SQL 语法:展示本次 SQL 评估实际采集的 SQL 类型组合。
- 评估对象:展示对象采集范围,可单击查看确认详细范围。
- 生成评估报告:针对当前评估结果生成评估报告。生成完成后,可在报告下载页面将报告下载到本地。
- 生成回放报告(仅当存在流量回放报告时可见):针对当前 SQL 流量回放结果生成评估报告。生成完成后,可在报告下载页面将报告下载到本地。
- 类似创建:基于当前任务配置快速创建相似评估任务。
- 其他任务相关操作按钮:根据任务状态的不同,显示可以操作的按钮,例如启停任务等。
2 评估概览 提供迁移评估总览,从数据库、数据库对象、数据类型、SQL 等多个维度展示业务数据迁移到目标后的兼容性。列出所有兼容的与不兼容的内容,用于快速评估迁移可行性与风险水平。 3 对象评估详情 展示数据库对象维度的评估结果,主要字段包括: - 对象归属库 / Schema:对象所属的数据库或 Schema。
- 对象类型:数据库对象的类型。如 table、view、index、package 等。
- 对象名:数据库对象的名称。
- 评估结果:显示当前对象的评估结果。分别为可兼容、可改造、不兼容。
- 评估状态:数据库对象当前的评估状态。
- 操作:查看数据库对象评估详情。
- 可兼容:展示原始 DDL。
- 可改造:展示原始 DDL、不兼容点说明及改造后 DDL。
- 不兼容:展示原始 DDL、不兼容原因说明。
4 SQL 评估详情 展示 SQL 语句级别的兼容性评估结果,主要字段包括: - SQL 模版:采集或上传的 SQL 语句内容。
- SQL 归属库 / Schema:SQL 所属数据库或 Schema。
- SQL 类型:SQL 语句的类型。
- 评估结果:显示当前 SQL 语句的评估结果。分别为可兼容、可改造、不兼容。
- 评估状态:SQL 语句当前的评估状态。
- 操作:查看 SQL 语句评估详情。
- 可兼容:展示原始 SQL。
- 可改造:展示原始 SQL、不兼容点说明及改造后 SQL。
- 不兼容:展示原始 SQL、不兼容原因说明。
5 回放详情 配置并启动流量回放任务,并在流量回放任务完成后查看 SQL 流量回放的执行结果。主要用于验证 SQL 在目标数据库中的真实执行效果,是迁移风险确认的重要依据。如何配置并启动流量回放任务,请参见配置 SQL 流量回放。
流量回放的概览页用于从库/Schema 的角度查看本次流量回放的执行结果和成功情况,主要包括以下指标:- 总 SQL 数:本次参与流量回放的 SQL 总数量。该数量受 SQL 采集方式、SQL 语法类型及过滤条件影响。
- 成功 SQL 数:在目标数据库中成功执行的 SQL 数量。
- 失败 SQL 数:在目标数据库中执行失败的 SQL 数量。
- 慢 SQL 数量 :执行时间超长的 SQL 数量,用于识别潜在性能风险。
- SQL 回放成功率:参与流量回放的 SQL 在目标数据库中的整体可执行比例。
回放详情页用于查看单条 SQL 级别的执行结果和失败原因,支持通过回放状态、回放结果、库名等条件快速查找回放记录。单击查看,可获取单条 SQL 的详细执行信息,包括实际的回放 SQL 文本,以及数据库报错信息。6 报告下载 可将已生成的报告下载至本地。仅在已完成报告生成的情况下可下载。当前可下载的报告包括评估报告与流量回放报告。
配置 SQL 流量回放
SQL 流量回放用于将评估过程中采集到的 SQL 实际发送到目标数据库执行,通过真实执行结果验证 SQL 在目标数据库中的兼容性,从而进一步降低迁移风险。
登录 NineData 控制台。
在左侧导航栏单击数据复制 > 迁移评估。单击目标任务的任务 ID,进入迁移评估任务详情页面。
单击回放详情页签,然后单击右侧的配置并启动流量回放。
根据下表配置流量回放任务,然后单击确定。
参数 说明 回放的目标数据源 选择用于回放的目标数据源。 目标数据库 选择用于回放的库。 回放的 SQL 类型 选择 SQL 回放的方式。支持原始 SQL和改造后 SQL。 - 原始 SQL:使用从源数据库采集或上传的原始 SQL 直接在目标数据库中执行。
- 改造后 SQL:使用系统自动改写后的 SQL 在目标数据库中执行。
回放的 SQL 语法 选择参与 SQL 回放的 SQL 类型,支持 SELECT、INSERT、DELETE、UPDATE、其他。
下载评估报告
登录 NineData 控制台。
- 在左侧导航栏单击数据复制 > 迁移评估。单击目标任务的任务 ID,进入迁移评估任务详情页面。
- 在页面右上角,单击生成评估报告或
- 生成回放报告(仅当存在流量回放报告时可见),并等待报告生成完成。
- 单击报告下载页签,并单击目标报告右侧操作列的下载,即可将报告下载到本地。