[图文]数据库比对方案0317

小吃大全
当前位置:首页 » 数据库比对方案0317 » 正文

数据库比对方案0317

从oracle到k-db的迁移工作,包含数据结构的比对,sql语句检查等,都可以
从oracle到k-db的迁移工作,包含数据结构的比对,sql语句检查等,都可以数据库比对方案0317

数据库比对方案地址:上海市桂林路 406 号 2 号楼 11 层 邮编:200233 电话:86-21-54278888上海天玑科技股份有限公司传真:86-21-54279888

数据库比对方案上海轨道交通运管中心票务管理部 上海天玑科技股份有限公司1 比对背景Goldengate 复制队列实时同步后,源端、目标端处于实时同步状态,下一 步开始做源端、目标端数据库比对工作,为报表比对做好准备。

由于生产库数据 量大(4T 以上数据) ,表累计 3 万张左右,制定详细比对策略,在保证数据质量 同时,也要注意时间耗用,在数据准确性和比对时间上取得最佳平衡。

第 2 页 共 11 页

数据库比对方案上海轨道交通运管中心票务管理部 上海天玑科技股份有限公司2 比对原则通过比对步骤,确定生产端和 PBdata 端数据一致性。

根据不同的表分类, 分别比对不同的列,保证 goldengate 队列复制期间,数据稳定可靠。

整个比对过程分为几个阶段:第一阶段:比对固定表是否一致,包括行列数,及重要列内容。

第二阶段:比对变化表是否一致,包括所有字段内容。

第三阶段:比对生产库和 PBdata 表的数量是否一致。

第四阶段:完成所有表比对后,比对生产库、PBdata 对象是否一致。

(包括 索引,视图,图表,函数,过程,触发器) 第五阶段:新开 PBdata 应用账号,初检数据是否一致。

第 3 页 共 11 页

数据库比对方案上海轨道交通运管中心票务管理部 上海天玑科技股份有限公司3 比对步骤3.1固定表固定表,即不实时 update 的表:前置表、解包表、区段表、日期明细表(部 分) 。

前置表包括: tbl_fep_card_yyyymmdd tbl_fep_tick_yyyymmdd tbl_fep_pboc_yyyymmdd tbl_fep_moni_yyyymmdd tbl_fep_cmcc_yyyymmdd tbl_fep_emgy_yyyymmdd 前置表比对字段:rec_num(笔数),blob 字段。

解包表包括: tbl_metro_card_yyyymmdd tbl_metro_tick_yyyymmdd tbl_metro_pboc_yyyymmdd tbl_metro_cmcc_yyyymmdd 解包表比对字段: amount,entert_station_id,exit_station_id,cardid,card_counter (计数器) , deal_time,trunmber(交易流水号),equip_id,ticket_type,trans_type。

区段表包括: tbl_metro_en_flux_seg_yyyymmdd tbl_metro_ex_flux_seg_yyyymmdd tbl_metro_stic_seg_yyyymmdd tbl_metro_sta_inc_seg_yyyymmdd tbl_metro_odflux_seg_yyyymmdd tbl_metro_fluxnew_seg_yyyymmdd 区段表:比对全表。

日期表: tbl_metro_sjtky_en_yyyymmdd tbl_metro_sjtky_csm_yyyymmdd tbl_metro_sjtky_sell_yyyymmdd tbl_metro_sptcky_en_yyyymmdd第 4 页 共 11 页

数据库比对方案上海轨道交通运管中心票务管理部 上海天玑科技股份有限公司tbl_metro_sptcky_csm_yyyymmdd tbl_metro_sptcky_sell_yyyymmdd 日期表:可疑账数据比对以下字段 amount,entert_station_id,exit_station_id,cardid,card_counter (计数器) , deal_time,trunmber(交易流水号),equip_id,ticket_type,trans_type 其他: TBL_METRO_YJP_OTHER_20150201 TBL_METRO_SJTEX_OTHER_20150201 TBL_METRO_SJTSE_OTHER_20150201 TBL_METRO_SJTEN_OTHER_20150201 TBL_METRO_ODFLUX_MTR_20150201 TBL_METRO_SPTEX_OTHER_20150201 TBL_METRO_SPTSE_OTHER_20150201 TBL_METRO_SPTEN_OTHER_20150201 TBL_METRO_TICK_20150201 TBL_METRO_PBOE_20150201 比对 amount,entert_station_id,exit_station_id,cardid,card_counter(计 数器) , deal_time,trunmber(交易流水号), equip_id,ticket_type,trans_type。

分区表: TBL_FEP_TXN_LOG TBL_FEP_TXN_MSG TBL_METRO_CH_SUB_ROAD TBL_METRO_CH_SUB_ROAD_CH TBL_METRO_JCP_LIST TBL_METRO_OLAP_ODFLUXSUM TBL_METRO_OLAP_ODFLUXSUM1 TBL_METRO_PBOE_LIST TBL_METRO_REPORT_DUTY_USE TBL_METRO_REPORT_ODFLUX_A TBL_METRO_REPORT_ODFLUX_CSUM TBL_METRO_REPORT_ODFLUX_DAY TBL_METRO_REPORT_ODFLUX_DSUM TBL_METRO_REPORT_ODFLUX_HOUR TBL_METRO_REPORT_ODFLUX_SUM TBL_METRO_REPORT_OD_TRANSITION TBL_METRO_REPORT_OD_WAYPER TBL_METRO_REPORT_OD_WAYPER_CH TBL_METRO_REPORT_SUBROAD_MAXID TBL_METRO_REPORT_SUB_ROAD TBL_METRO_REPORT_SUB_ROAD_CH第 5 页 共 11 页

数据库比对方案上海轨道交通运管中心票务管理部 上海天玑科技股份有限公司TBL_METRO_REPORT_SUM_HOUR TBL_METRO_REPORT_SUM_HOUR_MAX TBL_METRO_REPORT_TRANSLIST TBL_METRO_SMTD TBL_METRO_SMTD_LIST TBL_METRO_SMTD_LIST_WWM TBL_METRO_SMTD_TMP TBL_METRO_SPTCSELL_7001 比对所有字段。

比对步骤: 以上各种类型表,首先比对记录数,记录数比对一致基础上,对列出关键列 做求和操作并比对,由于以上表只有 UPDATA 操作,记录数和关键列比对一致, 则认为比对完成。

对于不方便求和的部分表,直接使用 min 函数比对所有记录。

对于 blob 字 段表,可以使用 hash 对每个 lob 字段求值,然后求和。

比对对应表的 hash 值, 判断表是否一致。

PBdata 基础数据准备使用 IMP/EXP 工具导入, 2 月初开始 goldengate 队列复 制工作,所以引起数据不一致的可能从 2 月份开始。

比对表格从 2 月 1 日起,到 比对日前一天所有表格,即可保证表一致性。

2 月 1 日后表划分请见附件。

总表数量大约 1500 张,整个比对过程 3-4 天完成,数据比对一致,则固定 表部分比对完毕。

3.2非固定表非固定表,即实时变动的表:部分日期表、统计表、分区表等。

TBL_METRO_SJTEXIT_20150201 TBL_METRO_FLUXNEW_20150201 TBL_METRO_SJTEN_FLUX_20150201 TBL_METRO_SJTENTER_20150201 TBL_METRO_SPTCEX_FLUX_20150201 TBL_METRO_SJTSELL_20150201 TBL_METRO_SJTEX_FLUX_20150201 TBL_METRO_SPTCEN_FLUX_20150201 TBL_METRO_ODFLUX_DAY_20150201 TBL_METRO_SPTCEXIT_20150201 TBL_METRO_SPTCSELL_20150201 TBL_METRO_SPTCENTER_20150201第 6 页 共 11 页

数据库比对方案上海轨道交通运管中心票务管理部 上海天玑科技股份有限公司TBL_METRO_YJP_LIST_20150201 TBL_METRO_YJP_SE_DE_20150201 TBL_METRO_WINDTL_1_20150201 TBL_METRO_WINDTL_2_20150201 TBL_METRO_WINDTL_3_20150201 TBL_METRO_WINDTL_4_20150201 TBL_METRO_WINDTL_5_20150201 TBL_METRO_WINDTL_6_20150201 TBL_METRO_WINDTL_7_20150201 TBL_METRO_WINDTL_8_20150201 TBL_METRO_FLUX_TOTAL_20150201区段表包括: tbl_metro_en_flux_seg_yyyymmdd tbl_metro_ex_flux_seg_yyyymmdd tbl_metro_stic_seg_yyyymmdd tbl_metro_sta_inc_seg_yyyymmdd tbl_metro_odflux_seg_yyyymmdd tbl_metro_fluxnew_seg_yyyymmdd 区段表:比对全表。

以上表为实时变动表,为了保证比对准确,采用每条记录比对方式,具体比 对方式为: 对于实时变动的表,使用以下方式进行比对,如下图第 7 页 共 11 页

数据库比对方案上海轨道交通运管中心票务管理部 上海天玑科技股份有限公司1、 为了不影响生产系统资源,在 PBdata 设置比对区域,抽取表到比对区后,比 对操作在 PBdata 完成, 不占用 superdome 资源;抽取表时间放在非高峰时间 段进行。

2、 指定比对时间点,在源端和目标端分别抽取对应表到比对区,在比对区对特 定时间点的表格做比对,确定数据是否一致; 由于比对过程会对比对表格做全扫描, 并且会要求重新排序, 耗用资源较大, 如果比对表格记录数太多,比对效率会很低,基于准确率和效率全面考虑, 采用以下比对步骤: a、确认行列数一致; b、 使用 minus 函数比对表格,找出那些不一致的数值,查找原因,重新比 对。

非固定表数量大约 1000 张左右,为了保证每天产出比对结果,可以把 1000 张表格分为 3 个批次比对: 第一天比对 200 张; 第二天比对 400 张; 第三天比对 400 张; 根据第一天比对时间,灵活调整后续比对表的数量,达到每天都有比对结果 产出的效果。

比对时间点定为每天的业务波谷期,选取 10:00—16:00 某时间点作为比对 时间点,三个批次选取不同比对时间点,如果三个批次比对结果相同,则认 为非固定表比对完成。

以上比对需要抽取相应表格到比对区, 为了控制数据的实时抽取时间点一致, 抽取表在生产库进行,且仍然错峰进行,保证生产库对外提供业务正常。

第 8 页 共 11 页

数据库比对方案上海轨道交通运管中心票务管理部 上海天玑科技股份有限公司3.3表数量比对比对生产环境、PBdata 端表数量是否一致,如果不一致表,则找出相应表, 并做好补齐。

3.4对象迁移比对迁移生产环境中现有的对象、任务等到 PBdata,包括函数、过程、job,由 于是跨平台迁移,需要事先验证好各对象迁移后的可用性。

如果迁移后有报错, 则需要针对解决。

此部分放到数据一致比对后进行。

一致性+可用性3.5应用初检在 PBdata 新开账号,应用接口人登录系统后,可以做一些查询操作,初步 判断数据一致性。

1、 比对客流量;tbl_metro_odflux_day_yyyymmdd tbl_metro_report_en_flux_day tbl_metro_report_save_flux 2、 比对收益; tbl_metro_sptc_package_ctl tbl_metro_sta_inc_seg_yyyymmdd tbl_metro_sta_inc_day tbl_metro_owner_income_n 3、 比对断面 tbl_metro_report_odflux_sum tbl_metro_report_odflux_csum第 9 页 共 11 页

数据库比对方案上海轨道交通运管中心票务管理部 上海天玑科技股份有限公司4 比对周期考虑到时效性,尽量在一周内完成第一轮次的比对工作。

(前四部分) 序 号 1 2 3 4 5 比对步骤 比对固定 表 比对变更 表 比对表总 量 应用核对 比对对象 数量 比对过程 产出 比对时间 ( 天) 4 3 1 1 2比对前置表、解包表、区段表、日 比对结果报 期明细表(部分) 表 比对结果报 抽取到比对区,按步骤比对 表 比对表格清 核对有无遗漏表 单 和生产比对 PBdata 查询 表格 比对生产、PBdata 对象数量 比对表格第 10 页 共 11 页

数据库比对方案上海轨道交通运管中心票务管理部 上海天玑科技股份有限公司序号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54附件 1 表比对清单表名 TBL_METRO_FLUXNEW_20150201 TBL_METRO_FLUXNEW_20150202 TBL_METRO_FLUXNEW_20150203 TBL_METRO_FLUXNEW_20150204 TBL_METRO_FLUXNEW_20150205 TBL_METRO_FLUXNEW_20150206 TBL_METRO_FLUXNEW_20150207 TBL_METRO_FLUXNEW_20150208 TBL_METRO_FLUXNEW_20150209 TBL_METRO_FLUXNEW_20150210 TBL_METRO_FLUXNEW_20150211 TBL_METRO_FLUXNEW_20150212 TBL_METRO_FLUXNEW_20150213 TBL_METRO_FLUXNEW_20150214 TBL_METRO_FLUXNEW_20150215 TBL_METRO_FLUXNEW_20150216 TBL_METRO_FLUXNEW_20150217 TBL_METRO_FLUXNEW_20150218 TBL_METRO_FLUXNEW_20150219 TBL_METRO_FLUXNEW_20150220 TBL_METRO_FLUXNEW_20150221 TBL_METRO_FLUXNEW_20150222 TBL_METRO_FLUXNEW_20150223 TBL_METRO_FLUXNEW_20150224 TBL_METRO_FLUXNEW_20150225 TBL_METRO_FLUXNEW_20150226 TBL_METRO_FLUXNEW_20150227 TBL_METRO_FLUXNEW_20150228 TBL_METRO_FLUXNEW_20150301 TBL_METRO_FLUXNEW_20150302 TBL_METRO_FLUXNEW_20150303 TBL_METRO_FLUXNEW_20150304 TBL_METRO_FLUXNEW_20150305 TBL_METRO_FLUXNEW_20150306 TBL_METRO_FLUXNEW_20150307 TBL_METRO_FLUXNEW_20150308 TBL_METRO_FLUXNEW_20150309 TBL_METRO_FLUXNEW_20150311 TBL_METRO_FLUXNEW_20150312 TBL_METRO_FLUX_TOTAL_20150201 TBL_METRO_FLUX_TOTAL_20150202 TBL_METRO_FLUX_TOTAL_20150203 TBL_METRO_FLUX_TOTAL_20150204 TBL_METRO_FLUX_TOTAL_20150205 TBL_METRO_FLUX_TOTAL_20150206 TBL_METRO_FLUX_TOTAL_20150207 TBL_METRO_FLUX_TOTAL_20150208 TBL_METRO_FLUX_TOTAL_20150209 TBL_METRO_FLUX_TOTAL_20150210 TBL_METRO_FLUX_TOTAL_20150211 TBL_METRO_FLUX_TOTAL_20150212 TBL_METRO_FLUX_TOTAL_20150213 TBL_METRO_FLUX_TOTAL_20150214 TBL_METRO_FLUX_TOTAL_20150215第 11 页 共 11 页