5. 校验结果
本章是对校验结果举例和说明。校验结果在输出日志里,搜索关键字———不一致,即可得到结果。如果无不一致信息,则表明对比一致,迁移没有问题。 日志路径:logs/lightdb-etl/lightdb-etl.log
5.1. 表结构对比
对比源数据库和目标数据库的表名、列名、数据类型、数据的精度、数据的标度、字符的长度、日期的标度是否一致。
首先输出:表结构对比开始
- 对比一致的会在第一行输出:
模式.表名对比一致
- 对比不一致的:
第一行输出:模式.表名对比不一致 第二行输出:对比不一致的原因。如下所示,如果数据类型不同,会输出数据类型不同,源数据库的数据类型是什么,目标数据类型是什么。
表结构对比开始
//对比一致
FUND60ACCO12.tbfundtaclientinfo13对比一致。FUND60ACCO12.tbfundtaclientinfo12对比一致。FUND60ACCO12.tbzdassetacc14对比一致。
//对比不一致
FUND60ACCO12.tbfundbakrestables112对比不一致
busin_type的数据类型不同, 源:VARCHAR2,目标:varchar2
ori_trans_date的数据类型不同, 源:NUMBER,目标:numeric
FUND60ACCO12.tbtatransaccount_bak13对比不一致
目标:invest_flag列不存在
目标:invest_code列不存在
FUND60ACCO12.sys_export_schema_01对比不一致
in_progress: 数据的精度不同,源:88,目标:null;
invest_flag: 数据的标度不同,源:88,目标:22;
invest_code:日期的标度不同,源:88,目标:22;
processing_state: 字符的长度不同,源:88,目标:22;
5.2. 表量对比
对比源数据库和目标数据库的对比表名、表量、表数据行数;对比视图、索引、存储过程、函数数量是否一致。
- 目前表量对比增加了html输出文档,包含了对比的总量统计、迁移失败原因等
dataCompare.html
是专门针对表的对比结构,统计整体表的对比情况和展开失败的原因。typeCompare.html
是所有对象的对比结果,统计整体情况,对比失败的类型和schema会进行标红处理,详细对比失败原因可点击展开查看。
对比结果也会在日志的输出,会打印所有的内容,便于一些特殊报错的查询,以下是日志的结构说明:
首先输出:表量对比开始
然后输出:特殊的情况:如pg自动增加的索引:tbcustamlx1currents_pkey,oracle自动增加的索引:sys_il0007162376c00045$$,pg自动增加的分区表:tbcustamlx1currents_1_prt_atr
然后开始输出对比结果:
第一行输出:视图等对比开始
- 对比一致的会在第二行输出:
模式.表名对比一致。如 tbdictconvert对比一致 tbfundcentralizex8file14对比一致 tbfundcentralizex8file13对比一致
- 对比不一致的:
第一行输出:模式.表名对比不一致 第二行输出:对比不一致的原因。如下在视图对比时,对比不一致,因为目标数据库的某一个视图没有迁移成功;表量对比时,tbfundcrsclientcfm对比不一致,输出不一致的原因时数据的行数不相同。
表量对比开始
viewCount对比开始
tbdictconvert对比一致 tbfundcentralizex8file14对比一致 tbfundcentralizex8file13对比一致
tcustinfo对比不一致
目标:FUND60ACCO12.tcustinfo 不存在
sequenceCount对比开始
无数据,对比一致
proceduresCount对比开始
proc_droptable对比一致 proc_droppk对比一致 proc_addcolumn对比一致
proc_droptable对比不一致
目标:FUND60ACCO12.proc_droptable 不存在
proc_dropcolumn对比不一致
目标:FUND60ACCO12.proc_dropcolumn 多余
functionCount对比开始
tbdic对比一致 tbfundcentr对比一致 tbfundcentrali对比一致
tranferidcode对比不一致
目标:FUND60ACCO12.tranferidcode 不存在
tranferidtype对比不一致
目标:FUND60ACCO12.tranferidtype 不存在
tableCount对比开始
tbfundcentralizex8file12对比一致 tbfundcentralizex8file11对比一致 tbfundtaclientinfo15对比一致
FUND60ACCO12.tbfundaccfrozendetail对比不一致
数量不同,源:21,目标:0
FUND60ACCO12.tbfundcrsclientcfm对比不一致
数量不同,源:63,目标:0
indexCount对比开始
tbdictconvert对比一致 tbfundcentralizex8file14对比一致 tbfundcentralizex8file13对比一致
FUND60ACCO12.sys_export_schema_05对比不一致
目标:索引sys_export_schema_05_process_order_duplicate_key多余
FUND60ACCO12.sys_export_schema_01对比不一致
目标:索引sys_export_schema_01_process_order_duplicate_key不存在
5.3. 表数据对比
表数据对比,每个表采取随机抽取5个列排序之后的前20个数据进行比较。
首先输出:数据对比开始
然后输出对比一致的表:表名对比一致
- 输出对比一致的表:
- 表名对比不一致
源数据: 目标数据:
数据对比开始
tbfundconfirmstatdetailtmp对比一致,无数据。tbfundcentralizexdfile9对比一致
tbaccountopenasset16结果不一致
目标:无数据
tbfundliqprdinfo结果不一致
源数据为:1 234
目标数据:1 789