「YashanDB迁移体验官」YMP迁移体验之Oracle迁移至YashanDB

1.前言介绍

数据库国产化进程如火如荼的进行,数据库厂商完善内核产品能力的同时也需要兼顾生态工具的发展,尤其是配套的迁移工具。对一线开发、运维人员而言,一款操作简单、容错能力强的迁移工具能极大的提升数据库迁移改造的效率,降低国产数据库改造成本,提供更好的用户体验。

为了真实体验崖山迁移平台(Yashan Migration Platform,YMP)的产品能力,并不仅停留在产品白皮书介绍的梦幻场景中,自行搭建了测试环境,开始了迁移体验之旅。

2.环境说明

环境类型数据库类型版本地址
测试源库Oracle19.0.0.0192.168.33.174
测试目标库YashanDB23.2.1.100192.168.33.169

3.安装部署

  1. 从Oracle官网下载OCI客户端,上传安装包至/data/yashan并解压
  2. 上传安装包至/data/yashan并解压
  3. 执行安装
[yashan@host3 yashan-migrate-platform]$ sh bin/ymp.sh install --db /data/yashan/yashandb-23.2.1.100-linux-x86_64.tar.gz --path /data/yashan/instantclient_19_19/
checking install profile.toml...
install version: yashandb 23.2.1.100
update host to yasom...
 type | uuid             | name               | hostid | index | status  | return_code | progress | cost 
---------------------------------------------------------------------------------------------------------
 task | 19403c7920839c39 | DeployYasdbCluster | -      | ymp   | SUCCESS | 0           | 100      | 9    
------+------------------+--------------------+--------+-------+---------+-------------+----------+------
task completed, status: SUCCESS
 type | uuid             | name             | hostid | index | status  | return_code | progress | cost 
-------------------------------------------------------------------------------------------------------
 task | 208735b1b286b069 | StopYasdbCluster | -      | ymp   | SUCCESS | 0           | 100      | 2    
------+------------------+------------------+--------+-------+---------+-------------+----------+------
task completed, status: SUCCESS
 type | uuid             | name              | hostid | index | status  | return_code | progress | cost 
--------------------------------------------------------------------------------------------------------
 task | 86fb40db6f39607e | StartYasdbCluster | -      | ymp   | SUCCESS | 0           | 100      | 2    
------+------------------+-------------------+--------+-------+---------+-------------+----------+------
task completed, status: SUCCESS
YMP started successfully!
[yashan@host3 yashan-migrate-platform]$ ps -ef|grep yasdb
yashan   24012     1  5 09:34 ?        00:00:02 /data/yashan/yashan-migrate-platform/db/bin/yasdb open -D /data/yashan/yashan-migrate-platform/db/data/ymp/db-1-1
yashan   24249 23444  0 09:35 pts/1    00:00:00 grep --color=auto yasdb
[yashan@host3 yashan-migrate-platform]$ sh bin/ymp.sh status
YMP is running, pid is 24107.
Built-in database is used, pid is 24012.
  1. 安装完成,登录管理界面
    在这里插入图片描述

4.添加数据源

  • 创建个人测试环境并添加Oracle、YashanDB测试数据库
    在这里插入图片描述

5.Oracle迁移测试体验

Oracle测试环境采用某个业务系统测试环境表结构,总共667张业务表,约束/索引3061个,52个触发器,15个视图,14个序列,1个自定义类型,264个同义词对象

  1. 选择Oracle源库,创建迁移任务
  2. 进行迁移评估
    在这里插入图片描述
    在这里插入图片描述

如上迁移报告中做如下说明:

1.同义词全部涉及Oracle DBLink创建,因此迁移评估无法自动/手动兼容,兼容百分比为0%,此处暂时忽略

2.触发器兼容百分比为50%,查看DDL文件,报错的部分为:select seq_xxx.NEXTVAL INTO:NEW.seqid from DUAL; 而此处的序列 seq_xxx 没有在ymp 用户下创建,自然没有权限执行。需要手动登录到业务账户下创建触发器。

3.索引有一个无法兼容是由于存在一个BITMAP索引,YashanDB暂时不支持该类型索引创建,此处暂时忽略。

  1. 手动处理完成不兼容的对象后,选择目标数据库,进入下一步迁移配置
    在这里插入图片描述
    在这里插入图片描述

  2. 开始离线迁移
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  3. 进行表结构的一致性校验,100%一致。
    在这里插入图片描述

6.总结建议

  1. 该测试数据模型存在一些数据库暂未支持的功能和特性,需要手动处理
  2. 此次过程测试了Oracle数据的迁移,感受到了不论是YashanDB或YMP对Oracle的兼容性处理较好
  3. YMP安装、数据迁移过程整体相对顺利,界面操作简单、上手容易
  4. 若存在大量数据需要迁移的情况,涉及到安装内置库,需要提前规划好YMP机器资源,尤其是磁盘与CPU资源
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值