登录
注册
开源
企业版
高校版
搜索
帮助中心
使用条款
关于我们
开源
企业版
高校版
私有云
模力方舟
AI 队友
登录
注册
轻量养虾,开箱即用!低 Token + 稳定算力,Gitee & 模力方舟联合出品的 PocketClaw 正式开售!点击了解详情
代码拉取完成,页面将自动刷新
开源项目
>
数据库相关
>
数据库管理/监控
&&
捐赠
捐赠前请先登录
取消
前往登录
扫描微信二维码支付
取消
支付完成
支付提示
将跳转至支付宝完成支付
确定
取消
Watch
不关注
关注所有动态
仅关注版本发行动态
关注但不提醒动态
14
Star
108
Fork
30
万里数据库
/
gt-checksum
代码
Issues
2
Pull Requests
0
Wiki
统计
流水线
服务
质量分析
Jenkins for Gitee
腾讯云托管
腾讯云 Serverless
悬镜安全
阿里云 SAE
Codeblitz
SBOM
开发画像分析
我知道了,不再自动展开
11
gt-checksum v1.2.4发布
已合并
YeJinrong:v1.2.4
万里数据库:v1.2.4
YeJinrong
创建于 2026-03-23 09:25
克隆/下载
HTTPS
SSH
复制
下载 Email Patch
下载 Diff 文件
- 支持Oracle=>MySQL的单向数据校验和修复,目前支持NUMBER/CHAR/NCHAR/VARCHAR2/FLOAT/DECIMAL/DATE/TIMESTAMP/CLOB等多个常用类型 - 新增Oracle 随机数据加载工具oracle_random_data_load - 配置文件中去掉"[DSNs],[Schema]"等一级标签 - 配置文件中存在重复配置参数时,只读取最后一条 - 将fixFileName更名为fixFileDir,用于自定义修复SQL文件存放目录;该目录名以"fixsql-时间戳",会自动创建;并且当该目录不为空时会报错退出 - 新增参数fixFilePerTable,设置为ON时,针对每个表生成独立的SQL文件,并且按照fixTrxNum切分成多个子文件,便于并行修复;默认值为OFF,即所有修复SQL语句都合并到一个文件中 - 新增repairDB程序,读取gc.conf配置参数,读取fixFileDir目录下所有.sql文件,完成并行修复数据库;也可以自行指定修复SQL文件目录,例如 repairDB ./my-fixsql-dir。在某个测例中,共有1218 个fixsql文件,24301776行SQL语句,所有文件共6.5GB,参数`parallelThds=4/chunkSize=20000/fixTrxNum=20000`,修复耗时9m43.936s,表现相当优异 - 新增sqlWhere参数,用于定义校验数据时的WHERE条件,对于大表中只有小部分数据不一致的场景校验效率有极大提升;默认值为空字符串"",表示不添加WHERE子句条件,校验所有数据行 - 支持没有任何索引(包括隐藏主键my_row_id)的表数据校验和修复 - 程序运行时,检查 logFile 文件是否为空,如果不为空则将其重命名为 logFile-时间戳,例如 gt-checksum.log 重命名为 gt-checksum.log-20230801100000 - 支持读取gc.conf配置文件时,忽略配置参数中的多余空格 - 新增DDL不一致检测功能:当源端与目标端DDL定义不一致时,校验报告的Diffs列显示为"DDL-yes",准确区分DDL差异和数据差异 - 支持MySQL 8.0 GIPK(自动生成的不可见主键my_row_id)场景下的DDL差异识别 - 新增索引列目标端存在性验证,当索引列(如my_row_id)在目标端不存在时,提前标记DDL不一致并跳过无意义的数据比较 - 优化INSERT和DELETE语句合并方案,分别设置不同上限,避免DELETE语句影响太多行数据而产生太久锁等待,反倒影响修复效率 - 新增参数fixTrxSize(默认4MB)用于限制单个fixsql文件大小;新增insertSqlSize和deleteSqlSize(单位KB)用于分别控制INSERT和DELETE合并SQL大小 - 优化内存使用:当有大量数据存在差异时,运行耗时降低12%的前提下,最高内存使用降低96%,效果显著 - 新增参数showActualRows表示是否统计各表精确行数并优化相应的查询SQL,可设置为 [ON | OFF],默认值:ON - 优化fixsql文件写入方式,不再采用临时文件写入,改为流式直接写入目标文件 - 新增对MySQL中的struct, routine两种校验场景的支持,包括 DELIMITER、PROCEDURE/FUNCTION 定义包含COMMENT属性 - 新增支持 MySQL -> MySQL struct 场景下的表级 AUTO_INCREMENT 差异检测与修复 - Bugs fixed - 修复了ignoreTables参数无效问题 - 修复了tables参数不支持%通配符问题,重新支持包括库名映射场景下的%通配符用法,例如"db1.t%:db2.t%" - 修复了当数据表没有显式主键,且表中有多行数据是重复的,可能会导致校验结果不准确问题 - 修复元数据查询链路并发共享状态导致的 DDL-yes 随机漂移问题 - 修复其他issue #I7IYLD #I6VTMQ #I6OEBB #IB6BM6
此 Pull Request 需要贡献者签署贡献者协议后方可合并。
此 Pull Request 需要通过一些审核项
类型
指派人员
状态
审查
GreatSQL
已审查通过
已完成
(1/1人)
测试
GreatSQL
已测试通过
已完成
(1/1人)
此 Pull Request 无法自动合并
尝试通过 WebIDE 解决冲突
怎样手动合并此 Pull Request
git checkout v1.2.4
git pull https://gitee.com/yejr/gt-checksum.git v1.2.4
git push origin v1.2.4
评论
0
提交
72
文件
148
检查
代码问题
0
批量操作
展开设置
折叠设置
审查
Code Owner
审查人员
ywlianghang
ywlianghang
GreatSQL
GreatSQL_admin
YeJinrong
yejr
未设置
最少人数
1
测试
ywlianghang
ywlianghang
GreatSQL
GreatSQL_admin
YeJinrong
yejr
未设置
最少人数
1
优先级
不指定
严重
主要
次要
不重要
标签
未设置
关联 Issue
I6OEBB
1.2.1版本,校验表结构,没有输出修复sql
I6VTMQ
执行gt-checksum后,results 后面没有打印表名和结果,是为什么?
I7IYLD
比较存储过程 程序崩溃
IB6BM6
func (dbpos *DBdataDispos) DBSQLforExec(strsql string) (*sql.Rows, error) ORACLE 收集统计信息收集报错
Pull Request 合并后将关闭上述关联 Issue
里程碑
未关联里程碑
参与者
(1)
Go
1
https://gitee.com/GreatSQL/gt-checksum.git
git@gitee.com:GreatSQL/gt-checksum.git
GreatSQL
gt-checksum
gt-checksum
点此查找更多帮助
搜索帮助
Git 命令在线学习
如何在 Gitee 导入 GitHub 仓库
Git 仓库基础操作
企业版和社区版功能对比
SSH 公钥设置
如何处理代码冲突
仓库体积过大,如何减小?
如何找回被删除的仓库数据
Gitee 产品配额说明
GitHub仓库快速导入Gitee及同步更新
什么是 Release(发行版)
将 PHP 项目自动发布到 packagist.org
评论
仓库举报
回到顶部
登录提示
该操作需登录 Gitee 帐号,请先登录后再操作。
立即登录
没有帐号,去注册