10.3. 多发比对功能概览
本章节重点介绍比对服务的功能。功能清单列表如下:
服务 |
功能 |
描述 |
---|---|---|
比对服务 |
||
1 |
多租户功能 |
支持根据业务用户名进行区分用户的操作 |
2 |
比对结果页面展示 |
展示traceId、业务SQL、状态、错误原因、SQL类型、源库、目标库、源库SQL、目标库多发SQL、比较内筒、记录行数、应用类型、应用名、业务用户名、schema、业务执行时间、比对执行时间、操作详情展示 |
3 |
比对结果筛选 |
支持根据状态、TraceID、应用类型、应用名、用户名进行筛选 |
比对规则自定义 |
||
1 |
替换规则(ForceReplace) |
用于将数据替换为另一部分内容。 |
2 |
字符串截取规则(SubString) |
从输入字符串中截取指定长度的子串 |
3 |
精度截取规则(SubPrecision) |
将数值小数部分精确到指定的位数(四舍五入),该规则用于保证数值精度在特定应用场景下的一致性和准确性。 |
4 |
布尔转数字(Boolean2Number)规则 |
将true转成1,将false转成0 |
5 |
时间戳转字符串(Timestamp2String)规则 |
将数值类型的时间戳(通常为毫秒数)转换为格式化的日期字符串。 |
6 |
忽略表字段规则 |
指定某张表里的某些字段不进行比较。 |
7 |
全局比对规则展示 |
|
其他特色功能 |
||
1 |
支持全表同步 |
目标库与源库的表数据不一致,支持全表同步 |
2 |
支持钉钉消息推送 |
在发生比对失败的时候,发送钉钉消息 |
10.3.1. 比对服务
10.3.1.1. 多租户功能
10.3.1.2. 比对结果页面展示
10.3.1.3. 比对结果筛选
10.3.2. 比对规则自定义
10.3.2.1. 支持多租户隔离
比对规则支持多租户隔离,在比对规则文件目录 compareRules
下以目录形式隔离每一个租户的规则。在 compareRules
下的比对规则文件 (*.json)
是默认通用规则,
在租户目录下的比对规则为当前租户的规则。
每一个租户对应一个比对规则目录;
若当前租户无比对规则(比对规则文件目录没有改租户目录、租户目录下为空、租户目录下的
(*.json)
无有效规则(有效规则配置参考规则配置))则使用通用规则;规则文件
(*.json)
中一行(json格式)表示一条规则当前只支持一级目录,不支持租户目录下创建租户目录
比对规则文件(*.json)位于目录 ``comparison/config/compareRules`` 下与比对服务配置文件 ``jrescloud.properties`` 同一层。以下为示例:
├─config
│ │ jrescloud.properties 比对服务配置文件
│ │
│ ├─compareRules (比对规则配置目录)
│ │ │ Boolean2Number.json (通用规则:布尔转数字规则)
│ │ │ ForceReplace.json (通用规则:替换规则)
│ │ │ SubPrecision.json (通用规则:精度截取规则)
│ │ │ SubString.json (通用规则:字符串截取规则)
│ │ │ Timestamp2String.json (通用规则: 时间戳转字符串规则)
│ │ │
│ │ ├─em (租户em的比对规则目录)
│ │ │ Boolean2Number.json (租户em:布尔转数字规则)
│ │ │ ForceReplace.json (租户em:替换规则)
│ │ │ SubPrecision.json (租户em:精度截取规则)
│ │ │ SubString.json (租户em:字符串截取规则)
│ │ │ Timestamp2String.json (租户em: 时间戳转字符串规则)
│ │ │
│ │ └─lightdb (租户lightdb的比对规则目录)
│ │ Boolean2Number.json (租户lightdb:布尔转数字规则)
│ │ ForceReplace.json (租户lightdb:替换规则)
│ │ SubPrecision.json (租户lightdb:精度截取规则)
│ │ SubString.json (租户lightdb:字符串截取规则)
│ │ Timestamp2String.json (租户lightdb: 时间戳转字符串规则)
10.3.2.2. 替换规则(ForceReplace)
10.3.2.3. 字符串截取规则(SubString)
10.3.2.4. 精度截取规则(SubPrecision)
10.3.2.5. 布尔转数字(Boolean2Number)规则
10.3.2.6. 时间戳转字符串(Timestamp2String)规则
10.3.2.7. 忽略表字段规则
10.3.2.8. 全局比对规则展示
前端页面点击 比对规则
按钮即可查看当前有效的全局比对规则。如下所示。
10.3.3. 其他特色功能
10.3.3.1. 支持全表同步
在比对报告中,可点击 全表数据同步
将对比失败的表进行表数据的全量同步,当前版本只支持从 ORACLE
同步表数据到 OCEAN_BASE_ORACLE
,只支持同步一个表。详细操作步骤如下:
![]()
![]()
在
LightDB
官网下载迁移工具 LightDB-ETL。將下载的
LightDB-ETL
里的jar包(如lightdb-etl-24.3.jar
)的绝对路径配置在环境变量LIGHTDB_ETL_JAR
。迁移日志文件目录为
{比对服务安装目录的log}/lightdb-etl/{当前时间_traceId_计数}
,可查看详细的迁移日志。前端页面会展示基本全量同步结果。
问题排查
![]()
可通过查看
LightDB-ETL
的日志文件lightdb-etl-error.log
查看更加详细的报错内容。日志路径为
{比对服务安装目录的log}/lightdb-etl/{当前时间_traceId_计数}
。
lightdb-etl.log
:数据同步的总日志,可查看具体迁移的表、迁移数据等。
lightdb-etl-error.log
:数据同步报错日志汇总。
10.3.3.2. 支持钉钉消息推送
当配置钉钉机器人后,数据比对失败,会给钉钉机器人发送消息,如下图: