崖山从0到1系列03-YMP崖山数据迁移平台实战
环境:
源端Oracle环境、YMP&目标端YashanDB部署在同一台机器,共两台虚拟机
工具: ip及用户密码 角色
Oracle 连接串:192.16833 174 1521/ord 源端
数据库用户/密码:ycp/Ncp$123
YashanDB 连接串:192.168,33.167:1688 目标端
数据库用户/密码:ycp/Vcp$123
(说明:ycp用户具有DBA权限,grant dba to ycp)
YMP 192.168.33.167 同步工具
主要步骤:YMP工具下载、安装、同步数据.
–操作系统参数调整
需确保操作系统max user processes最大用户线程数不小于65535。
Note:
建议修改完毕后使用ulimit -u查看YMP所在用户下的最大限制线程数修改是否生效。
#查看最大用户线程数
#ulimit -u
#执行如下命令使最大用户线程数临时生效,重启后无效
#ulimit -u 65536
执行执行如下命令将最大用户线程数写入/etc/security/limits.conf文件,重启后参数永久生效
echo "
ymp soft nproc 65536
ymp hard nproc 65536
" >> /etc/security/limits.conf
同时对于特定的用户可以执行如下命令查看线程限制数
centos6.5:
cat /etc/security/limits.d/90-nproc.conf
centos7:
cat /etc/security/limits.d/20-nproc.conf
#修改YMP所在用户下的最大限制线程数
centos6.5:
echo "
ymp soft nproc 65536
ymp hard nproc 65536
" >> /etc/security/limits.d/90-nproc.conf
centos7:
echo "
ymp soft nproc 65536
ymp hard nproc 65536
" >> /etc/security/limits.d/20-nproc.conf
#开放端口
安装默认端口号
端口列表请参考:端口列表。
YMP监听 数据库监听 主机间通信 yasom yasagent
8090 8091 8092 8093 8094
方式一:关闭防火墙
在主机上执行如下命令关闭防火墙:
关闭防火墙
systemctl stop firewalld
关闭开机自启
systemctl disable firewalld
方式二:添加白名单
如果防火墙不能关闭,则需按如下步骤添加端口到白名单中:
1.查看防火墙端口开放情况:
#firewall-cmd --zone=public --list-ports
2.添加端口到防火墙(Firewall):
这里以8090为例演示如何添加端口到防火墙中,其他端口操作方法相同。
#添加(–permanent 永久生效,没有此参数重启后失效)
#firewall-cmd --zone=public --add-port=8090/tcp --permanent
#重新载入
#firewall-cmd --reload
#查看
#firewall-cmd --zone=public --query-port=8090/tcp
如需从白名单中删除已添加的端口,使用如下命令:
#删除已添加的端口
#firewall-cmd --zone=public --remove-port=8090/tcp --permanent
#用户准备
创建一个用户用于安装YMP,以YMP为例,在用户创建和授权后,后续所有安装步骤均在该用户下操作。
#新建YMP用户
useradd -d /home/ymp -m ymp
echo yashan_123|passwd ymp --stdin
#应用环境准备
#服务器工具准备
安装lsof命令工具
#yum install -y lsof
#JDK环境准备
YMP的JDK版本要求见:支持的JDK,支持通过Java官方路径下载上述版本的JDK并安装成功后,还需配置如下环境变量:
#以JDK安装路径为/usr/tools/jdk8为例
#vi /etc/profile
在文件结尾添加如下
export JAVA_HOME=/usr/tools/jdk8
export PATH=
J
A
V
A
H
O
M
E
/
b
i
n
:
JAVA_HOME/bin:
JAVAHOME/bin:PATH
export CLASSPATH=.:
J
A
V
A
H
O
M
E
/
l
i
b
/
d
t
.
j
a
r
:
JAVA_HOME/lib/dt.jar:
JAVAHOME/lib/dt.jar:JAVA_HOME/lib/tools.jar
source /etc/profile
java -version
#libaio环境准备
YMP运行需要libaio动态库。
rpm -qa | grep libaio
yum install -y libaio
#OCI环境准备
如需要使用Oracle到YashanDB的数据迁移功能,请进行OCI环境安装,OCI版本要求见:支持的OCI。
上传安装包至YMP用户/home/ymp/路径:
su - ymp
[ymp@localhost ~]$ rz
<-instantclient-basic-linux.x64-19.19.0.0.0dbru.zip: 74997908/74997908(100%)
#解压OCI安装包
$ unzip instantclient-basic-linux.x64-19.19.0.0.0dbru.zip
#YashanDB环境准备
使用默认内置库时,本步骤可省略。
使用自定义内置库时:
如为一个已有的YashanDB单机环境,则需由DBA在该环境中执行如下脚本:
yasql sys/yashan_123
– 创建一个ymp用户(以YMP_DEFAULT为例)并为其授权
create user YMP_DEFAULT IDENTIFIED BY yashan_123 DEFAULT TABLESPACE users;
GRANT ALL PRIVILEGES TO YMP_DEFAULT;
GRANT DBA TO YMP_DEFAULT;
#软件包准备
请根据实际需求向我们的技术支持获取软件包:
软件包名称 说明 获取方式
yashan-migrate-platform-xx.xx-linux-aarch64.zip
yashan-migrate-platform-xx.xx-linux-x86-64.zip YMP安装包,用于在Linux x86_64/arm64平台进行YMP的安装和部署。 请根据实际需求向我们的技术支持获取软件包。
yashandb-xx.xx-linux-x86_64.tar.gz
yashandb-xx.xx-linux-aarch64.tar.gz YashanDB安装包,用于在Linux x86_64/arm64平台下进行默认内置库的安装和部署,要求使用和迁移目标库相同的版本。 请根据实际需求向我们的技术支持获取软件包。
从本步骤开始的后续所有服务端安装步骤,将由YMP安装用户来进行操作,请先切换至YMP用户,或以YMP用户登录至服务器。
将YashanDB安装包上传至YMP用户/home/ymp/路径下:
su - ymp
[ymp@localhost ~]$ rz
<-yashan-migrate-platform-v23.2.1.3-linux-x86-64.zip: 156675857/156675857(100%)
#三方依赖版本
依赖项 版本要求 说明
JDK JDK8、JDK11 YMP仅支持在JDK8或JDK11的下安装使用。
OCI客户端 19.19.0.0.0及以上版本 准备OCI环境需从Oracle官网 (opens new window)下载OCI客户端并依据官网所列步骤进行安装。
根据处理器架构不同,建议下载和安装的版本信息如下:
- instantclient-basic-linux.x64-19.19.0.0.0dbru.el9.zip
- instantclient-basic-linux.arm64-19.10.0.0.0dbru-2.zip
yasldr工具 和YashanDB目标端数据库版本保持一致
#客户端浏览器
YMP支持浏览器Google Chrome、Microsoft Edge和Firefox,建议使用当前较新的版本。
浏览器支持 要求版本
Google Chrome 88 及以上版本
Microsoft Edge 88 及以上版本
Firefox 78 及以上版本
#切换至YMP安装目录
$ cd /home/ymp/
unzip yashan-migrate-platform-v23.2.1.3-linux-x86-64.zip
默认内置库安装YMP(推荐方案)
YMP安装时按默认方式自行安装YashanDB作为内置库。默认内置库相关信息:
部署形态:单机
集群名称:ymp
安装目录:/home/ymp/yashan-migrate-platform/db
#更改内置库SYS用户默认密码(可选)
#进入安装目录执行更改密码命令,以yashan_123为例:
$ cd /home/ymp/yashan-migrate-platform/
sh bin/ymp.sh password --sys yashan_123
执行安装
方式一:安装内置库并启动YMP(不用的场景oracle)
#进入安装目录执行安装命令
$ cd /home/ymp/yashan-migrate-platform/
sh bin/ymp.sh install --db /home/ymp/yashandb-23.2.1.0-linux-x86_64.tar.gz
方式二(Oracle做数据源的推荐方案):安装内置库和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_19
#查看运行状态
$ cd /home/ymp/yashan-migrate-platform/
sh bin/ymp.sh status
ps -ef|grep ymp
–这里可能由于内存资源紧张导致ymp服务报错,可更改启动内存,然后重启ymp服务。
[ymp@localhost conf]$ vi application.properties
ymp_memory=4G改成
ymp_memory=3G
重启ymp服务
$ cd /home/ymp/yashan-migrate-platform/
sh bin/ymp.sh start
浏览器访问http://192.168.127.39:8090
默认用户名/密码:admin/admin
更改密码Yashan_123
#oracle 添加要复制的用户;
– 创建一个ymp用户(以YMP_DEFAULT为例)并为其授权
create user YMP IDENTIFIED BY yashan_123 DEFAULT TABLESPACE users;
GRANT ALL PRIVILEGES TO YMP;
GRANT DBA TO YMP;
数据源管理-添加数据源(ORACLE和崖山db)
任务管理-创建任务(要选择具体迁移的用户),默认
常见问题
1.服务器重启之后,ymp无法启动,报错dial tcp127.0.0.1:8093: connect: connection refused
因为内置库依赖的yasom和yasagent进程未开启,新版本ymp的启动包含了对这两个服务的启动。当前版本(232.1.3)启动方式:
cd /home/ymp/yashan-migrate-platform/db/conf
source ymp.bashrc
yasboot process yasom start -c ymp
yasboot process yasagent start -c ymp
cd /home/ymp/yashan-migrate-platform
sh bin/ymp.sh start
2.YMP_DEFAULT用户是ymp服务器的内置库用户,配置不要与此冲突,因为评估步骤要依赖此库,否则很多问题。