1. 迁移
1.1 配制Oracle客户端
1.1.1 解压Oracle客户端
cd /opt
unzip instantclient-basic-linux.x64-19.20.0.0.0dbru.zip
unzip instantclient-sqlplus-linux.x64-19.20.0.0.0dbru.zip
1.1.2 配制环境变量
export ORACLE_HOME=/opt/instantclient_19_20
export PATH=$ORACLE_HOME:$PATH
export TNS_ADMIN=$ORACLE_HOME/network/admin
export LD_LIBRARY_PATH=$ORACLE_HOME:$LD_LIBRARY_PATH
export NLS_LANG='AMERICAN_AMERICA.AL32UTF8'
export PATH
1.1.3 配制动态链接库
在 etc/ld.so.conf里添加 /opt/instantclient_19_20
[root@mogdb-01 ~]# cat /etc/ld.so.conf
include ld.so.conf.d/*.conf
/usr/local/lib
/opt/instantclient_19_20
执行 ldconfig
[root@mogdb-01 ~]# ldconfig
1.1.4 处理报错
sqlplus: error while loading shared libraries: libnsl.so.1: cannot open shared object file: No such file or directory
sudo yum install libnsl
1.1.5 sqlplus测试
[root@suhc-pocdb-ts02 ~]# sqlplus scott/tiger@192.168.56.131:1522/orcl
SQL*Plus: Release 19.0.0.0.0 - Production on Wed Apr 24 14:06:32 2024
Version 19.20.0.0.0
Copyright (c) 1982, 2022, Oracle. All rights reserved.
Last Successful login time: Wed Apr 24 2024 14:00:14 +08:00
Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.8.0.0.0
2.1 下载最新版本MTKD
https://docs.mogdb.io/zh/mtk/v2.0/release-2.9
2.2 解压,申请license
./mtkd license gen
申请后放入当前目录
ll /data/mtkd
total 82368
-rw-r--r-- 1 root root 89461 Apr 23 19:29 CHANGELOG.md
-rw-r--r-- 1 root root 3451 Jan 3 11:04 HOW-TO-RUN.md
-rw------- 1 root root 3892 Apr 24 13:47 license.json
-rwxr-xr-x 1 root root 84245440 Apr 23 19:28 mtkd
2.3 目标端创建对应的user
先创建user再迁移,避免迁移后的对象owner与user不一致(mysql兼容模式)
2.4 开启服务
nohup ./mtkd &
开启后用浏览器通过 http://ip:8080连接
2.5 配制迁移对象
配制源端与目标端数据库
配制要迁移的schema
“schemas”: [
“STONE”,
“TEST”
],
2.6 建议参数
2.6.1 clientCharset
target 端的 clientCharset 设置为 utf8 即可,设置后报告中的汉字一般不会再有乱码
2.6.2 enableOgBlobClob
enableOgBlobClob 建议设置为 true (迁移其他数据库的Blob、Clob为openGauss的Blob、Clob.)
2.7 性能优化
2.7.1 parallelIndex
parallelIndex
类型: int
描述: 针对openGauss/MogDB启用并行创建索引功能, 单个索引并行度最大为32. 总并行度 limit.parallel * parallelIndex 要小于 max_connections1/4. 如数据库最大连接数为400,数据库层面最大提供给创建索引度线程为 4001/4,即100 如果limit.parallel * parallelIndex大于100个后数据库会自动转为串行创建. 即配置parallelIndex=8 则limit.parallel最大可为12
默认值: 0
2.7.2 parallel
可更改 parallel 设置,
parallel
类型: int
描述: 并行度.
迁移数据时执行数据加载的作业(线程)数目,参考 os cpu 配制,并为os保留部分核数。如 core为32,可配制 parallel=24
默认值: 1
相关说明见: https://docs.mogdb.io/zh/mtk/v2.0/mtk-limit#limit
“limit”: {
“parallel”: 1,
“fetchSize”: 1000,
“batchSize”: 1000,
“bufferSize”: 8,
“cpBufferSize”: 8,
“oracleSelectParallel”: 0,
“limit”: 0,
“splitTabSize”: 5120,
“splitTabMethod”: “”,
“splitTabTaskNum”: 0,
“splitTabSamplePercentage”: 0.1
},
2.8 开始迁移
配制完后可以开始迁移
迁移时可以分步迁,也可以一次生全面迁移