SAP财务数据分发方案
一.分发结构图
二.方案描述
(一)数据分发步方案
1. 由FZS软件从SAP财务DB将需要分发的表复制至清分数据库,如图中①所示,此步骤包含初始化同步,以及增量同步。
2. 在清分数据库主机上部署订制版FZS源端,如图中②所示。
3. FZS源端软件,从将财务数据进行过滤分发至分公司主机(含全量数据,以及实时增量数据,软件可进行全量数据与增量数据的自动衔接),其中过滤模块支持多字段条件过滤。如图③所示。
4. 在分公司的INFORMIX数据库主机上运行FZS INFORMIX LOADER,将总公司的分发过来的数据装载至分公司的INFORMIX数据库中,INFORMIX LOADER支持DDL操作(如加减字段等)如图中④所示。
(二)数据校验方案及数据修复
数据校验:
在生产期间,使用数据验证客户端进行验证,SAP财务数据库到清分数据库再到分公司中的数据是否一致。
由于涉及过滤,以及跨不同类型数据库比对,出于性能考虑,设计验证原理为主键2次比对,如下图所示:
在线二次比对原理:
首先发起第一次数据比对,此时由于有业务发生,很大可能有不一致数据,将不一致数据比对结果保存。按照第一次比对结果的结果集,发起两个数据源的第二次数据比对,如果比对数据一致了,则表一致,如果还有不一致数据,则认为表不一致,并将不一致结果保存。
比对软件使用步骤:
1.首先以生产为主,比对生产与清分的所有同步表的主键进行二次比对,生成报告。
2.确认生产与清分数据一致,再发起清分与分公司数据的主键进行二次比对,生成比对报告。
数据修复方案:
当数据验证发现数据复制出现问题时,FZS软件可随时修复所复制的表数据。
可采用两种修复方方法:
1. 执行整表修复,修复原理与FZS初始化数据复制原理一致。
三.FZS数据初始化同步与增量复制自动衔接原理
使用快照方式
首次同步时,对于同步map所涉及的每一个表的同步过程如下:
1、 锁该表;
2、 记录同步时刻的SCN(System Change Number);
3、 释放锁;
4、 读取该表数据;
在表做开始同步的时刻,锁表是为了记录SCN,取这个SCN号时这个表的快照。
开始读取数据时,利用了oracle数据库自身提供的“多版本”特性,能够保证读取数据的一致性。同时对该表进行解锁,又使该表被锁的时间不会太长从而严重影响正常交易。
这种方式保证了源端在任何时刻下都可以进行首次数据的批量同步而不会影响同步数据的准确性。
读文件方式
首次同步时,对于同步map所涉及的每一个表的同步过程如下:
1、 记录同步时刻的SCN;
2、 读取该表数据;
首次同步时,直接从oracle数据文件中读取该表数据,同时记录同步时刻的SCN,由于这种方式要求在同步过程中,没有交易产生,因此会保证历史数据抓取的准确性。在同步完成后,将变化数据实时抓取。
SAP财务数据分发方案