使用 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> al…

    未分类 2024 年 12 月 24 日
    16200
  • 【永久激活】IDEA 2024.1.2 激活破解详细指南,附激活码+工具,亲测可用

    IntelliJ IDEA 是一款功能强大的 Java 集成开发环境,被誉为最优秀的 Java 开发工具之一。本文将介绍通过脚本免费激活 IDEA 和 JetBrains 全家桶工具的方法,支持 2021 年及以上版本,包括最新版本。 一、下载并安装 IDEA 首先,前往 JetBrains 官网下载最新版本的 IntelliJ IDEA。安装过程简单,按照…

    未分类 2024 年 7 月 8 日
    2.4K00
  • 【深度学习】Java DL4J基于 LSTM 构建新能源预测模型

    🧑 博主简介:CSDN博客专家 ,历代文学网 (PC端可以访问:https://literature.sinhy.com/#/?__c=1000,移动端可微信小程序搜索“历代文学 ”)总架构师,15年工作经验,精通Java编程,高并发设计,Springboot和微服务,熟悉Linux,ESXI虚拟化以及云原生Docker和K8s,热衷于探索科技的边界,并将理…

    未分类 2025 年 1 月 10 日
    11800
  • manim边学边做–旋转

    本篇文章将深入探讨Manim库中的两种旋转动画类:Rotate和Rotating,它们虽然名称相似,但在功能和应用场景上各有千秋。 Rotate类专注于对图形对象进行精确的旋转操作,它允许用户指定旋转的角度、轴心点等,非常适合于几何图形的演示、物理模拟以及机械运动的展示等场合。 相对而言,Rotating类则致力于创建一个持续旋转的效果,使对象围绕一个轴或点…

    2024 年 12 月 26 日
    12800
  • Python 调整Excel行高、列宽

    在Excel中,默认的行高和列宽可能不足以完全显示某些单元格中的内容,特别是当内容较长时。通过调整行高和列宽,可以确保所有数据都能完整显示,避免内容被截断。合理的行高和列宽可以使表格看起来更加整洁和专业,尤其是在包含大量数据的情况下。 本文将介绍如何通过Python调整Excel的行高列宽、或设置自适应行高列宽 。 Python Excel库 要通过Pyth…

    2024 年 12 月 24 日
    9000

发表回复

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

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

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

关注微信