前言:
这个版本有一个需求,需要实时下发多张表数据给下游。下游对下发的数据具有很强的时效性要求。因为原来的下发平台是基本基于T+1的数据下发。改写成半小时下发的工作量太大了(其实我已经开发完了,测试太烦了)。后来的解决方案该为了DSG对接交易库,实时同步之后再由DSG下发。
这个方案出来之后,原想着不关我的事了。可是下游的兄弟还是纠缠不止。于是取了解了下DSG原理,同步复制的原理类似于MYSQL的主从复制或者RAC集群中镜像的实现原理。
原文链接:https://www.cnblogs.com/oracle-dsg/archive/2010/05/27/1745477.htmlwww.cnblogs.com
RealSync工作原理概述
RealSync在Data Source端和Data Target端分别安装Agent进程,Source端的Agent进程对ORACLE日志进行监控,发现改变及时对目标数据库进行更新。
当应用系统在Data Source端向数据库进行任何操作时时,这些信息都将在Redo Log中保存,RealSync Agent通过对实时获取的Log日志进行分析,获得本次操作的交易指令和交易数据,然后将这些交易指令和交易数据经过格式转化生成DXF数据格式,并实时通过网络传送到Data Target系统。
DataTarget系统的RealSyncAgent接收数据库包,经过校验码检查,确认正确的数据库包后,调用Oracle函数按照交易的先后顺序在DataTarget系统中执行该交易。
日志抓取(Data Capture)
RealSync对数据的抓取是通过安装在Data Source端的Agent模块定时分析Oracle Redo Log来获取Data Source端的交易类型