用MTKD工具迁移Oracle到MogDB

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 开始迁移

配制完后可以开始迁移
迁移时可以分步迁,也可以一次生全面迁移

  • 8
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值