暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片

YashanDB 培训笔记-崖山迁移平台(YMP)部署实战体验【YashanDB迁移体验官】

原创 jiayou 2024-04-26
599

近日,我有幸参加了YashanDB首期YCP认证培训活动。作为一个初入此行的小白,这次活动对我而言无疑是一次极为宝贵的学习机会。

活动伊始,我就被YashanDB团队的专业与热情所打动。他们不仅为我们提供了详尽的课程内容,还通过生动的案例和实际操作,让我们更加深入地了解了数据库的相关知识。在这个过程中,我逐渐感受到了数据库技术的魅力,也对未来充满了期待。回顾这次培训活动,我收获满满,做下部分知识总结。

崖山迁移平台(Yashan Migration Platform,YMP)介绍

崖山迁移平台(Yashan Migration Platform,YMP)是YashanDB提供的数据库迁移产品,支持异构RDBMS与YashanDB之间进行迁移评估、离线迁移、数据校验的能力。

YMP提供可视化服务,用户只需通过简单的界面操作,即可完成从评估到迁移整个流程的执行与监控,实现低门槛、低成本、高效率的异构数据库迁移。

1、核心特性

  • 精确评估

基于可插拔数据库最小内核,在评估阶段即精确验证SQL 兼容性,评估结果真实可信。

  • SQL自动转换

支持SQL语句自动转换,全面适配YashanDB语法,解决大部分不兼容SQL的适配转换问题,大大减少人工适配工作量。

  • 评估迁移无缝对接

评估结果自动作为迁移的基础,迁移时即按照评估阶段所做的对象DDL 自动/手动改写来执行,实现评估兼容即迁移成功。

  • 对象一键迁移

一键整合所有对象元数据迁移,充分考虑对象依赖关系,及对数据迁移的影响,并采用端到端性能最优的执行策略,智能决策元数据对象创建顺序。

  • 数据高性能迁移

基于数据库原生高性能导入导出能力,采用流水线多级并行架构,实现原厂级高性能数据迁移。

  • 数据校验

通过数据库自身查询排序能力,并发抽取数据,对异构数据源数据统一格式处理,实现数据对比检验,确保数据一致性。

  • 一站式服务

将包括迁移评估、离线迁移、数据校验在内的迁移方案全流程整合在一个平台上,为用户提供低门槛、可视化、可复制的一站式迁移服务。

2、产品架构

产品架构

3、产品规格

1. 数据库版本支持

数据库

说明

YashanDB

适配YashanDB数据库v23.2版本,形态支持单机、共享集群,并兼容YashanDB数据库v22.2版本。

Oracle

支持的版本为 11g,12c,19c,21c,部署形态为单机和RAC。

MySQL

支持的版本为 5.6,5.7,8.0。

DM

支持的版本为 8。

2. 数据类型支持

数据库

支持数据类型

Oracle

CHAR、NCHAR、VARCHAR2、NVARCHAR2、NUMBER、FLOAT、INT、INTEGER、SMALLINT、DEC、NUMBERIC、DECIMAL、DOUBLE PRECISION、DATE、TIMESTAMP、TIMESTAMP WITH TIME ZONE、TIMESTAMP WITH LOCAL TIME ZONE、INTERVAL YEAR TO MONTH、INTERVAL DAY TO SECOND、LONG、RAW、LONG RAW、CLOB、NCLOB、BLOB、JSON

Mysql

TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT、DECIMAL、FLOAT、DOUBLE、TINYINT UNSGINED、SMALLINT UNSIGNED、MEDIUMINT UNSIGNED、INT UNSIGNED、BIGINT UNSIGNED、CHAR、VARCHAR、DATE、DATETIME、TIMESTAMP、TIME、YEAR、BINARY、VARBINARY、TINYBLOB、TINYTEXT、BLOB、TEXT、MEDIUMBLOB、MEDIUMTEXT、LONGBLOB、LONGTEXT、JSON、BIT、ENUM、SET

DM

TINYINT、SMALLINT、INT、INTEGER、BIGINT、DEC、DECIMAL、REAL、FLOAT、DOUBLE、DOUBLE PRECISION、NUMBER、NUMERIC、CHAR、CHARACTER、VARCHAR、VARCHAR2、NVARCHAR、NVARCHAR2、NCHAR、DATE、TIME、DATETIME、TIMESTAMP、TIME WITH TIME ZONE、TIMESTAMP WITH LOCAL TIME ZONE、TIMESTAMP WITH TIME ZONE、DATETIME WITH TIME ZONE、INTERVAL DAY TO SECOND、INTERVAL YEAR TO MONTH、BINARY、BLOB、CLOB、IMAGE、LONG、VARBINARY、LONGVARBINARY、LONGVARCHAR、RAW、TEXT

YMP安装部署

1、安装规划

主机名称

操作系统版本

资源配置

操作系统服务IP

安装功能包

功能说明

appnode1

Redhat7.8

4c/8G及以上

192.168.126.101

yashan-migrate-platform-v23.2.1.0-linux-x86-64.zip

yashandb-personal-23.2.1.100-linux-x86_64.tar.gz

instantclient-basic-linux.x64-19.23.0.0.0dbru.zip

JDK8、libaio动态库

YMP(迁移工具服务器)

 

dbnode1

Redhat7.8

2c/4G及以上

192.168.126.102

yashandb-personal-23.2.1.100-linux-x86_64.tar.gz

yashanDB(目标库服务器)

ora19c

Redhat7.8

2c/4G及以上

192.168.126.129

Oracle Version 19.17.0.0.0

Oracle19c(源库)

adminnode

Redhat7.8

2c/4G及以上

192.168.126.110

yashandb-cloud-manager-23.2.1.103-linux-x86_64.tar.gz

YCM(监控管理服务器)

注意事项:

  • 如需要使用Oracle到YashanDB的数据迁移功能,请进行OCI环境安装。目前YMP仅支持OCI Version 19.19.0.0.0及以上版本。本次下载使用instantclient-basic-linux.x64-19.23.0.0.0dbru.zip
  • YMP需要配置内置库,本次采用默认方式自行安装YashanDB作为内置库。
  • YMP仅支持在JDK8或JDK11的环境下安装。

2、操作系统环境准备

基础配置同YashanDB数据库环境类似。

  1. 操作系统参数调整

需确保操作系统max user processes最大用户线程数不小于65535。

\# 查看最大用户线程数
\# ulimit -u

\# 执行如下命令使最大用户线程数临时生效,重启后无效
\# ulimit -u 65536

\# 执行执行如下命令将最大用户线程数写入/etc/security/limits.conf文件,重启后参数永久生效
\# echo "
\# \* soft nproc 65536
\# \* hard nproc 65536
\# " >> /etc/security/limits.conf
  1. 目录划分

建议在服务器 新建用户以安装部署YMP,注意YMP安装路径不可包含英文句号,以使用新建YMP用户为例,安装路径为/home/ymp。

  1. 开放端口

安装默认端口号

端口列表请参考:端口列表。

YMP监听

数据库监听

主机间通信

yasom

yasagent

8090

8091

8092

8093

8094

  1. 关闭防火墙

# 关闭防火墙

# systemctl stop firewalld

# 关闭开机自启

# systemctl disable firewalld

  1. libaio环境准备

YMP运行需要libaio动态库。

# 查看是否已安装libaio动态库

# rpm -qa | grep libaio

# 若未有版本信息打印,安装libaio

# yum install -y libaio

  1. YMP用户及目录创建

#新建YMP用户

# useradd -d /home/ymp -m ymp

# passwd ymp

  1. JDK环境准备

YMP仅支持在JDK8或JDK11的环境下安装。

通过Java官方路径下载上述版本的JDK并安装成功后,还需配置如下环境变量:

# 以JDK安装路径为/usr/tools/jdk8为例

# vi /etc/profile

# 在文件结尾添加如下

# export JAVA_HOME=/usr/tools/jdk8

# export PATH=$JAVA_HOME/bin:$PATH

# export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

# 重新载入配置文件

# source /etc/profile

# 安装成功后查看JDK版本信息

# java -version

3、安装YMP

1. 安装包的解压及赋权

上传YMP安装包至/home/ymp目录下然后解压

# su - ymp

$ cd /home/ymp/

$unzip yashan-migrate-platform-v23.2.1.0-linux-x86-64.zip

$unzip instantclient-basic-linux.x64-19.23.0.0.0dbru.zip

2. 安装参数调整

依据实际需要对默认内置库安装及YMP启动参数进行调整。

默认内置库安装配置文件

# db.properties

YASDB_PASSWORD=ymppw602. # 默认内置库sys用户默认密码

YASDB_PORT=8091 # 默认内置库默认端口号

YASDB_CHARACTER_SET=UTF8 # 默认内置库字符集,还可选择ASCII, ISO88591, GBK

YMP配置文件

# conf/application.properties

# YMP服务端口

server.port=8090

# 用户登录后空闲过期时间,单位秒(s),默认15分钟

shiro.session.timeout=900

# YMP使用的最大堆内存,单位: GB

ymp_memory=4

# YMP使用的堆外内存,单位: GB

ymp_direct_memory=2

#=YMP业务数据库===========================

# YMP业务数据库连接信息

spring.datasource.url=jdbc:yasdb://192.168.126.101:1688/yashan

spring.datasource.username=YMP_DEFAULT

spring.datasource.password=ymppw602

spring.datasource.largePoolSize=64M

spring.datasource.cursorPoolSize=64M

# 默认内置库表类型,默认HEAP,可选HEAP,TAC,LSC

spring.datasource.defaultTableType=HEAP

spring.datasource.openCursors=3000

spring.datasource.sharePoolSize=2G

spring.datasource.dateFormat=yyyy-mm-dd hh24:mi:ss

spring.datasource.ddlLockTimeout=2

3. 执行安装命令

方式二:安装内置库和OCI客户端并启动YMP

# 进入安装目录执行安装命令

$ cd /home/ymp/yashan-migrate-platform/

$ sh bin/ymp.sh install --db /home/ymp/yashandb-personal-23.2.1.100-linux-x86_64.tar.gz --path /home/ymp/instantclient_19_23

[ymp@appnode1 yashan-migrate-platform]$ sh bin/ymp.sh install --db /home/ymp/yashandb-personal-23.2.1.100-linux-x86_64.tar.gz --path /home/ymp/instantclient_19_23

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 | e91fa5145940a573 | DeployYasdbCluster | - | ymp | SUCCESS | 0 | 100 | 10

------±-----------------±-------------------±-------±------±--------±------------±--------

task completed, status: SUCCESS

type | uuid | name | hostid | index | status | return_code | progress | cost

--------------------------------------------------------------------------------------------------

task | 632e451f6fdbdcca | StopYasdbCluster | - | ymp | SUCCESS | 0 | 100 | 2

------±-----------------±-----------------±-------±------±--------±------------±---------

task completed, status: SUCCESS

type | uuid | name | hostid | index | status | return_code | progress | cost

--------------------------------------------------------------------------------------------------

task | a4ed658a2b97ba09 | StartYasdbCluster | - | ymp | SUCCESS | 0 | 100 | 2

------±-----------------±------------------±-------±------±--------±------------±--------

task completed, status: SUCCESS

YMP started successfully!

4. 查看运行状态

$ cd /home/ymp/yashan-migrate-platform/

$ sh bin/ymp.sh status

5. 查看版本

$ cd /home/ymp/yashan-migrate-platform/

$ sh bin/ymp.sh -v

6. 访问YMP

访问方式:http://IP:PORT/,PORT默认8090,初始账户名和密码是(admin/admin)

4、YMP的启停命令

启动YMP

默认内置库启动YMP:

$ cd /home/ymp/yashan-migrate-platform/

$ sh bin/ymp.sh start

停止YMP

默认内置库停止YMP:

$ cd /home/ymp/yashan-migrate-platform/

$ sh bin/ymp.sh stop

启停案例:

迁移测试

1、场景描述:

本次迁移测试计划将Oracle19c数据库数据迁移到YashanDBV23.2数据库

YMP迁移要求:

2、数据源权限配置

源端、目标端的配置权限要求详细参考官方链接:

https://doc.yashandb.com/ymp/23.2/zh/%E7%94%A8%E6%88%B7%E6%8C%87%E5%8D%97/%E6%95%B0%E6%8D%AE%E6%BA%90%E7%AE%A1%E7%90%86.html

  1. ora19c(源数据库操作)

CREATE USER C##test identified by testpass;

GRANT DBA TO C##test;

GRANT RESOURCE TO C##test;

创建表等并导入测试数据。

2.yashanDB(目标数据库操作)

CREATE USER C##test identified by testpass;

GRANT DBA TO C##test;

3、登录YMP迁移平台

http:192.168.126.10:8090 (初始密码admin需要重新设置密码)

4、添加数据源

5、任务管理

1.创建任务

根据提示可以保存或者下一步

2.迁移评估

迁移评估完成,告知用户总体的迁移数据的兼容性、迁移量、预估的迁移时间等,本次测试用schema下对象等太少,仅示参考。

3.迁移配置

需要选择目标端数据库

可以单独查看DDL语句选择修改或者,不迁移。

下一步

4.离线迁移

可以查看迁移报告

5.校验初始化

选择校验范围

6.一致性校验

查看校验报告

最后修改时间:2024-05-20 14:55:54
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

文章被以下合辑收录

评论