近期参与了由YashanDB发起的数据库迁移体验活动,作为首批迁移体验用户之一,我特地将本次Oracle数据库迁移至YashanDB的实际体验过程分享出来,希望能为有类似迁移需求的企业提供借鉴参考。

image.png
一、YMP 工具简介

1.1 YMP 是什么?

YMP(YashanDB Migration Platform)是由YashanDB推出的一款异构数据库迁移工具,具备对象迁移评估、数据离线迁移和数据一致性校验功能。通过直观的图形界面,即可轻松完成从源数据库(如Oracle)到目标数据库(YashanDB)的整个迁移流程,降低迁移门槛,提高迁移效率。
image.png

1.2 YMP 工具核心功能

精准评估:多类型数据库迁移评估与兼容性分析;

元数据自动迁移:灵活选择迁移对象并解决对象冲突;

数据高效迁移:多线程并行迁移,确保迁移效率;

数据一致性校验:提供全量与统计方式的数据校验机制。
image.png

二、测试环境准备

2.1 软件准备

所有相关软件均可从YashanDB官方下载页面获取,包括:

YashanDB 数据库软件包

YMP 迁移工具安装包

Oracle 客户端 OCI 驱动(需使用19.19.0及以上版本)

2.2 安装环境调整

创建专用系统用户:
`
useradd ymp
passwd ymp`
配置操作系统参数,确保最大用户线程数≥65536;

安装JDK8或JDK11并配置环境变量;

关闭防火墙,避免迁移工具端口受限;

确保安装libaio依赖和Oracle OCI环境。

三、YMP工具安装步骤

步骤简述:

上传YMP安装包并解压;

修改内置数据库配置文件(端口、密码、字符集等);

修改应用服务配置文件(并发线程数、校验任务参数等);

执行安装命令安装YMP:


./bin/ymp.sh install --db 路径/yashandb.tar.gz

安装后检查服务状态,确认正常启动即可访问:

http://IP:8090/#/login
默认账号密码为:admin/admin,首次登录需修改密码。
image.png

四、使用YMP进行迁移实操过程

4.1 创建数据源和迁移任务

在YMP界面创建源端Oracle数据源、目标端YashanDB数据源,并新建迁移任务选择迁移对象。

常见问题:

SYS用户不能作为源端数据源用户连接 出于安全限制,YMP工具不支持以Oracle数据库SYS用户创建数据源,需使用其他用户。

迁移任务的schema名称不可重复 需避免创建同名schema的并发迁移任务。

4.2 迁移评估

迁移评估主要检查Oracle元数据与YashanDB的兼容性,并生成迁移报告。

迁移评估遇到的问题与应对方法:

数据类型不兼容 比如Oracle特有的SDO_GEOMETRY目前YashanDB不支持,需手动跳过。

RAW类型字段不支持索引 迁移中发现RAW字段索引无法创建,需手动忽略相关索引。

依赖对象未成功创建 如果某些表创建失败,其上的索引或约束也会报错,需先解决根源问题或跳过。

4.3 迁移配置

在迁移配置阶段:

确认目标数据库信息;

指定迁移范围;

进行表空间初始化配置(若跳过,需提前在目标库创建表空间);

进行预检查,确保迁移准备工作完善。

4.4 离线数据迁移

本次实测迁移134.1GB数据,仅用约30分钟完成,效率令人满意。

实际迁移注意事项:

磁盘空间必须充裕,建议至少预留单表最大数据量的3倍空间;

如迁移任务中途失败,查看日志后可扩容磁盘或调整相关参数重试。

4.5 数据一致性校验

数据校验分为全量比对与统计比对两种模式:

全量比对适合精确数据要求场景,要求表必须有主键或唯一键;

统计比对适合数据量大且对数据精度要求不高的场景,效率更高。

校验过程遇到问题:

LONG、CLOB等数据类型暂不支持比对

未设置主键或唯一键的表无法进行全量比对

image.png
五、迁移体验总结

经过本次深度体验,迁移整体感受如下:

YMP工具操作简单、易上手,界面流程清晰明了;

Oracle与YashanDB数据类型兼容度高,迁移平滑度良好;

提供完整迁移报告,有助于迁移过程审计和回溯;

目前仅支持离线迁移,尚未提供实时或增量同步能力;

部分数据库不兼容特性需手动处理。

总体而言,YMP迁移工具为Oracle到国产数据库的迁移提供了便捷、高效的解决方案,产品成熟度高、易用性强,值得推荐给有数据库迁移需求的企业用户。

国产数据库的成长还需更多实践反馈和持续迭代优化,期待YashanDB越来越优秀!


数据库砖家
1 声望0 粉丝