MogDB/openGauss 生态工具-MTK(Migration ToolKit) 数据库迁移

简介: MogDB/openGauss 生态工具-MTK(Migration ToolKit) 数据库迁移

一、准备环境

1. 源库创建(Oracle)

  • 创建Oracle 11.2.0.4
docker pull registry.cn-hangzhou.aliyuncs.com/lhrbest/oracle_11g_ee_lhr_11.2.0.4:1.0
docker run -itd --name oracle -h oracle --privileged=true -p 1521:1521 -p 222:22 -p 1158:1158 lhrbest/oracle_11g_ee_lhr_11.2.0.4:1.0 init

MTK程序迁移Oracle需要安装Oracle客户端

  • 安装Oracle客户端
wget https://download.oracle.com/otn_software/linux/instantclient/211000/oracle-instantclient-basic-21.1.0.0.0-1.x86_64.rpm
wget https://download.oracle.com/otn_software/linux/instantclient/211000/oracle-instantclient-sqlplus-21.1.0.0.0-1.x86_64.rpm
rpm -ivh oracle-instantclient-basic-21.1.0.0.0-1.x86_64.rpm oracle-instantclient-sqlplus-21.1.0.0.0-1.x86_64.rpm
export LD_LIBRARY_PATH=/usr/lib/oracle/21/client64/lib

2. 目标库创建(MogDB)

二、迁移

1. 上传程序,编写配置文件

迁移为Oracle下的scott用户

  • 编写配置文件
[root@mogdb-kernel-0005 mtk]# cat mtk_config.json 
{
  "source": {
    "type": "oracle",
    "connect": {
      "version": "",
      "host": "172.16.0.176",
      "user": "system",
      "port": 1521,
      "password": "system",
      "dbName": "LHR11G",
      "dsn": ""
    },
    "parameter": {
      "debugTest": false
    }
  },
  "target": {
    "type": "openGauss",
    "connect": {
      "version": "",
      "host": "172.16.0.106",
      "user": "mogdb",
      "port": 26000,
      "password": "Enmo@123",
      "dbName": "mtk",
      "dsn": ""
    },
    "parameter": {
      "dropExistingObject": true,
      "truncTable": true,
      "ignoreTableDDLCompErr": true,
      "parallelInsert": 1
    }
  },
  "limit": {
    "parallel": 2
  },
  "object": {
    "schemas": [
      "SCOTT"
    ]
  },
  "dataOnly": false ,
  "schemaOnly": false,
  "reportFile": "./report_Oracle2OpenGauss_all.html"
}

2 迁移

  • 执行迁移命令
[root@mogdb-kernel-0005 mtk]# ./mtk -c mtk_config.json --reportFile mtk_report.html --logfile mtk_report.log --debug
'''''
-----------------------
ObjectName Type Summary
-----------------------
+--------------+---------------------+---------------------+------------+--------+-------------+------------+
|     Type     |      StartTime      |       EndTime       |    Time    | Status | Success Num | Failed Num |
+--------------+---------------------+---------------------+------------+--------+-------------+------------+
| Schema       | 2021-06-15 12:00:46 | 2021-06-15 12:00:46 | 18 ms      | finish |           1 |          0 |
| ObjectType   | 2021-06-15 12:00:46 | 2021-06-15 12:00:47 | 450 ms     | finish |           0 |          0 |
| Domain       | 2021-06-15 12:00:47 | 2021-06-15 12:00:47 | 0 ms       | finish |           0 |          0 |
| CustomType   | 2021-06-15 12:00:47 | 2021-06-15 12:00:47 | 0 ms       | finish |           0 |          0 |
| Sequence     | 2021-06-15 12:00:47 | 2021-06-15 12:00:47 | 5 ms       | finish |           0 |          0 |
| Queue        | 2021-06-15 12:00:47 | 2021-06-15 12:00:47 | 0 ms       | finish |           0 |          0 |
| Table        | 2021-06-15 12:00:47 | 2021-06-15 12:00:47 | 335 ms     | finish |           4 |          0 |
| TableDDLCom  | 2021-06-15 12:00:47 | 2021-06-15 12:00:47 | 0 ms       | finish |           0 |          0 |
| TableData    | 2021-06-15 12:00:47 | 2021-06-15 12:00:49 | 2 s 45 ms  | finish |           4 |          0 |
| Constraint   | 2021-06-15 12:00:49 | 2021-06-15 12:00:49 | 445 ms     | finish |           3 |          0 |
| Index        | 2021-06-15 12:00:49 | 2021-06-15 12:00:51 | 1 s 894 ms | finish |           0 |          0 |
| Trigger      | 2021-06-15 12:00:51 | 2021-06-15 12:00:51 | 0 ms       | finish |           0 |          0 |
| View         | 2021-06-15 12:00:51 | 2021-06-15 12:00:51 | 86 ms      | finish |           0 |          0 |
| TableDataCom | 2021-06-15 12:00:51 | 2021-06-15 12:00:52 | 39 ms      | finish |           4 |          0 |
+--------------+---------------------+---------------------+------------+--------+-------------+------------+
------------------
Table Data Summary
------------------
+----------------+----------------+---------------------+---------------------+-----------+---------+-------------+-------------+-------------+------+
|    SrcName     |    TgtName     |      StartTime      |       EndTime       |   Time    | Status  | Select Rows | Insert Rows | Ignore Rows | Size |
+----------------+----------------+---------------------+---------------------+-----------+---------+-------------+-------------+-------------+------+
| SCOTT.EMP      | SCOTT.EMP      | 2021-06-15 12:00:47 | 2021-06-15 12:00:48 | 1 s 18 ms | succeed |          14 |          14 |           0 |  773 |
| SCOTT.SALGRADE | SCOTT.SALGRADE | 2021-06-15 12:00:47 | 2021-06-15 12:00:48 | 1 s 29 ms | succeed |           5 |           5 |           0 |   44 |
| SCOTT.DEPT     | SCOTT.DEPT     | 2021-06-15 12:00:48 | 2021-06-15 12:00:49 | 1 s 17 ms | succeed |           4 |           4 |           0 |   68 |
| SCOTT.BONUS    | SCOTT.BONUS    | 2021-06-15 12:00:48 | 2021-06-15 12:00:49 | 1 s 16 ms | succeed |           0 |           0 |           0 |    0 |
+----------------+----------------+---------------------+---------------------+-----------+---------+-------------+-------------+-------------+------+
-----------------------------
Table Data Comparison Summary
-----------------------------
+----------------+----------------+---------------------+-------+---------+------------+------------+-------+
|    SrcName     |    TgtName     |      StartTime      | Time  | Status  | SourceRows | TargetRows | Error |
+----------------+----------------+---------------------+-------+---------+------------+------------+-------+
| SCOTT.EMP      | SCOTT.EMP      | 2021-06-15 12:00:51 | 1 ms  | succeed |         14 |         14 |       |
| SCOTT.SALGRADE | SCOTT.SALGRADE | 2021-06-15 12:00:51 | 39 ms | succeed |          5 |          5 |       |
| SCOTT.DEPT     | SCOTT.DEPT     | 2021-06-15 12:00:51 | 1 ms  | succeed |          4 |          4 |       |
| SCOTT.BONUS    | SCOTT.BONUS    | 2021-06-15 12:00:51 | 1 ms  | succeed |          0 |          0 |       |
+----------------+----------------+---------------------+-------+---------+------------+------------+-------+
  • 日志截图
  • 主界面
    9a5ef2f8e554c128d40c61faf4752410_20210615-c6b4c094-1613-4ff8-bac7-739b214fe370.png
  • 对象
    11993bbdba1a4662c93bc803d76676fc_20210615-052bc91a-875f-4a76-a3e4-28ae19ae9e20.png
  • 表数据
    98c660187c155da44f32dd64c62388c9_20210615-aa6ab68b-54d9-4b42-8fe4-612be03554f0.png

目录
相关文章
|
4天前
|
弹性计算 关系型数据库 数据库
自建数据库迁移到云数据库实操
本课程详细介绍了自建数据库迁移到阿里云RDS的实操步骤。主要内容包括:创建实例资源、安全设置、配置自建的MySQL数据库、数据库的迁移、从自建数据库切换到RDS以及清理资源。通过这些步骤,学员可以掌握如何将自建数据库安全、高效地迁移到云端,并确保应用的正常运行。
49 26
|
20天前
|
弹性计算 安全 关系型数据库
活动实践 | 自建数据库迁移到云数据库
通过阿里云RDS,用户可获得稳定、安全的企业级数据库服务,无需担心数据库管理与维护。该方案使用RDS确保数据库的可靠性、可用性和安全性,结合ECS和DTS服务,实现自建数据库平滑迁移到云端,支持WordPress等应用的快速部署与运行。通过一键部署模板,用户能迅速搭建ECS和RDS实例,完成数据迁移及应用上线,显著提升业务灵活性和效率。
|
4天前
|
运维 关系型数据库 MySQL
自建数据库迁移到云数据库RDS
本次课程由阿里云数据库团队的凡珂分享,主题为自建数据库迁移至云数据库RDS MySQL版。课程分为四部分:1) 传统数据库部署方案及痛点;2) 选择云数据库RDS MySQL的原因;3) 数据库迁移方案和产品选型;4) 线上活动与权益。通过对比自建数据库的局限性,介绍了RDS MySQL在可靠性、安全性、性价比等方面的优势,并详细讲解了使用DTS(数据传输服务)进行平滑迁移的步骤。此外,还提供了多种优惠活动信息,帮助用户降低成本并享受云数据库带来的便利。
|
1月前
|
SQL 关系型数据库 数据库
国产数据实战之docker部署MyWebSQL数据库管理工具
【10月更文挑战第23天】国产数据实战之docker部署MyWebSQL数据库管理工具
140 4
国产数据实战之docker部署MyWebSQL数据库管理工具
|
19天前
|
安全 关系型数据库 MySQL
体验自建数据库迁移到云数据库RDS,领取桌面置物架!
「技术解决方案【Cloud Up 挑战赛】」正式开启!本方案旨在帮助用户将自建数据库平滑迁移至阿里云RDS MySQL,享受稳定、高效、安全的数据库服务,助力业务快速发展。完成指定任务即可赢取桌面置物架等奖励,限量供应,先到先得。活动时间:2024年12月3日至12月31日16点。
|
2月前
|
算法 大数据 数据库
云计算与大数据平台的数据库迁移与同步
本文详细介绍了云计算与大数据平台的数据库迁移与同步的核心概念、算法原理、具体操作步骤、数学模型公式、代码实例及未来发展趋势与挑战。涵盖全量与增量迁移、一致性与异步复制等内容,旨在帮助读者全面了解并应对相关技术挑战。
55 3
|
3月前
|
存储 SQL 关系型数据库
一篇文章搞懂MySQL的分库分表,从拆分场景、目标评估、拆分方案、不停机迁移、一致性补偿等方面详细阐述MySQL数据库的分库分表方案
MySQL如何进行分库分表、数据迁移?从相关概念、使用场景、拆分方式、分表字段选择、数据一致性校验等角度阐述MySQL数据库的分库分表方案。
516 15
一篇文章搞懂MySQL的分库分表,从拆分场景、目标评估、拆分方案、不停机迁移、一致性补偿等方面详细阐述MySQL数据库的分库分表方案
|
2月前
|
SQL 数据可视化 关系型数据库
【数据库工具】DBeaver:一款免费的通用数据库工具和 SQL 客户端
【数据库工具】DBeaver:一款免费的通用数据库工具和 SQL 客户端
160 1
|
2月前
|
Rust 关系型数据库 Linux
Rainfrog: 轻量级数据库管理工具
【10月更文挑战第3天】
|
2月前
|
NoSQL 关系型数据库 MySQL
AWS Database Migration Service 助力数据库搬迁
AWS Database Migration Service 助力数据库搬迁