使用 gt-checksum 迁移表结构到 GreatSQL

将数据库表结构迁移至 GreatSQL 的指南

引言

本文旨在指导如何利用 gt-checksum 工具,将数据库表结构从 ORACLE 迁移至 GreatSQL。

gt-checksum 简介

gt-checksum 是 GreatSQL 社区开发的开源静态数据库校验和修复工具,它支持包括 MySQL 和 Oracle 在内的多种主流数据库系统。其商业版本最近增加了表结构迁移的功能,以下是如何使用该功能的简单示例。

本文使用的是 gt-checksum 的商业版本。

配置 gc-task.cnf 文件

gc-task.cnf 是 gt-checksum 的配置文件,包含了源数据库和目标数据库的连接信息以及需要迁移的对象列表等。该文件位于 gt-checksum 程序的 config-simple 目录下,gt-checksum 将根据此文件生成表结构迁移的相关配置文件。

$ cd ${gtdir}
$ cp -r config-simple config
$ cd config

$ vi gc-task.cnf
# 源数据库连接字符串
srcDSN = "oracle|user/password@ip:port/sid"
# 目标数据库连接字符串                                        
dstDSN = "mysql|user:password@tcp(ip:port)/information_schema?charset=utf8mb4"
# 待迁移对象列表   
object = "qianyi" 
# 对象中库名和表名的分隔符                                                                               
limiter = "," 
# 任务类型,struct 表示迁移表结构                                                                                   
active = struct

配置迁移对象列表

以迁移 PCMS 库下的 BMSQL_WAREHOUSE、BMSQL_CONFIG 和 BMSQL_DISTRICT_TMP 三张表为例,配置方式如下:

配置格式为:库名 分隔符 表名

文件位置与 gt-checksum 同级目录

配置示例

$ cat qianyi
PCMS,BMSQL_WAREHOUSE
PCMS,BMSQL_CONFIG
PCMS,BMSQL_DISTRICT_TMP

迁移对象列表配置方式说明:

  • 一般情况,无需映射(迁移到目标端后,库名和表名保持不变)
PCMS,BMSQL_WAREHOUSE
PCMS,BMSQL_CONFIG
PCMS,BMSQL_DISTRICT_TMP

映射关系示意图

SOURCE                 -->  DEST
# 示例1:PCMS,BMSQL_WAREHOUSE
PCMS.BMSQL_WAREHOUSE   --> PCMS.BMSQL_WAREHOUSE
  • 库映射(迁移到目标端后,表名保持不变,库名改变)
PCMS:WLKY,BMSQL_WAREHOUSE
PCMS:WLKY,BMSQL_CONFIG
PCMS:WLKY,BMSQL_DISTRICT_TMP

映射关系示意图

SOURCE                 -->  DEST
# 示例1:PCMS:WLKY,BMSQL_WAREHOUSE
PCMS.BMSQL_WAREHOUSE   --> WLKY.BMSQL_WAREHOUSE
  • 表映射(迁移到目标端后,库名保持不变,表名改变)
PCMS,BMSQL_WAREHOUSE:BMSQL_WAREHOUSE_0429
PCMS,BMSQL_CONFIG:BMSQL_CONFIG_0429
PCMS,BMSQL_DISTRICT_TMP:BMSQL_DISTRICT_TMP_0429

映射关系示意图

SOURCE                 -->  DEST
# 示例1:PCMS,BMSQL_WAREHOUSE:BMSQL_WAREHOUSE_0429
PCMS.BMSQL_WAREHOUSE   --> PCMS.BMSQL_WAREHOUSE_0429
  • 库表映射(迁移到目标端后,库名和表名都改变)
PCMS:WLKY,BMSQL_WAREHOUSE:BMSQL_WAREHOUSE_0429
PCMS:WLKY,BMSQL_CONFIG:BMSQL_CONFIG_0429
PCMS:WLKY,BMSQL_DISTRICT_TMP:BMSQL_DISTRICT_TMP_0429

映射关系示意图

SOURCE                 -->  DEST
# 示例1:PCMS:WLKY,BMSQL_WAREHOUSE:BMSQL_WAREHOUSE_0429
PCMS.BMSQL_WAREHOUSE   --> WLKY.BMSQL_WAREHOUSE_0429

Oracle 端表结构

```sql
CREATE TABLE "PCMS"."BMSQL_WAREHOUSE"
( "W_ID" NUMBER(*,0) NOT NULL ENABLE,
"W_YTD" NUMBER(12,2

文章整理自互联网,只做测试使用。发布者:Lomu,转转请注明出处:https://www.it1024doc.com/4375.html

(0)
LomuLomu
上一篇 2024 年 12 月 24 日
下一篇 2024 年 12 月 24 日

相关推荐

  • MySQL 优化利器 SHOW PROFILE 的实现原理

    背景 近期,我遇到了一个案例,涉及到通过可传输表空间的方式导入一个体积达4GB的表,整个过程耗时13分钟。通过使用PROFILE进行性能分析,意外发现大部分时间都耗费在了System lock阶段。 mysql> set profiling=1; Query OK, 0 rows affected, 1 warning (0.00 sec) mysql> a…

    未分类 2024 年 12 月 27 日
    43600
  • 思维导图xmind如何安装?附安装包

    前言 大家好,我是小徐啊。我们在Java开发中,有时候是需要用到思维导图的,这可以帮助我们更好的理清思路,提高开发的效率。而说到思维导图,最有名的就是xmind了,它的功能十分强大,几乎是思维导图里面最强大的那一个。但是,默认只能使用初级功能,高级功能需要额外再开通,今天小徐就来介绍下如何安装xmind以及升级,让我们可以使用pro的功能。文末附获取方式。 …

    2025 年 1 月 10 日
    44100
  • 深入解析 Java 多线程编程中的 Thread 类核心功能

    Java 平台的多线程编程能力主要依赖于 Thread 这个基础类。我们将全面剖析该类的重要特性与实用方法,并通过具体案例演示其应用场景。 一、线程的初始化与基础控制 在 Java 中,开发者可以通过以下两种主要途径创建新线程:1. #### 扩展 Thread 基类 class CustomThread extends Thread { public vo…

    2025 年 5 月 13 日
    31300
  • 架构-初识BFF

    引言 在最近的一次公司技术分享会上,我们深入探讨了公司的项目架构。核心议题是BFF架构,这是一种在微服务架构之上增加的额外层级。此外,我们还讨论了DDD(领域驱动设计)理念,它在订单、用户等业务中台中扮演着关键角色。 这是我对架构领域的初步探索,虽然理解尚浅,但我还是尝试着将所学内容进行了整理。 BFF 定义 BFF,即Backend For Fronten…

    2024 年 12 月 26 日
    64200
  • 基于Java的大疆无人机云端控制开发指南

    欢迎来到技术探索者的开发空间更多精彩内容请访问我的技术博客 开发者笔记-CSDN博客目录前言开发准备工作搭建开发环境注册大疆开发者账户获取大疆开发工具包大疆SDK深度解析SDK分类与特性云端API运行机制Java控制无人机实战工程创建与依赖配置认证信息设置设备连接流程飞行指令实现影像系统操作示例代码与场景应用完整控制程序行业应用实例疑难问题解答连接异常处理编…

    2025 年 5 月 15 日
    82700

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信