GoldenGate学习之旅-1

         最近一直在学习GoldenGate用于同步数据,有点心得,和大家分享一下。这个还是想说下原理吧!

      Oracle GoldenGate实现原理是通过抽取源端的redo log或者archive log,然后通过TCP/IP投递到目标端,最后解析还原应用到目标端,使目标端实现同源端数据同步。以下是Oracle GoldenGate的技术架构。

         

      

  Manager进程

   Manager进程是Goldegate的控制进程。如果把所有的Oracle进程比喻为军队,那么Manager就相当于司令。Manager进程运行在源端和目标端上,它主要作用有以下几个方面:启动、监控、重启GoldenGate的其它进程,报告错误及事件,分配数据存储空间,发布阈值报告等。 

每个源端或者目标端有且只能存在一个Manager进程。其运行状态有两种RUNNING(正在运行)和STOPPED(已经停止)。 Windows系统上,Manager进程是作为一个服务来启动的,而在类Unix系统中,Manager则是一个操作系统进程。 

   EXTRACT进程

   Extract运行在数据库源端,负责从源端数据表或者日志中捕获数据。在早期的GoldenGate版本中,它通常被称为Collect进程。

   照其所处的阶段不同,Extract的作用可以按照时间来来划分: 

   初始数据装载阶段:在初始数据装载阶段,Extract进程直接从源端的数据表中抽取数据。 

   同步变化捕获阶段:初始数据同步完成以后,Extract进程负责捕获源端数据的变化(DMLDDL

   Extract进程利用其内在的checkpoint机制,周期性地检查并记录其读写的位置,通常是写入到一个本地的trail文件。这种机制是为了保证如果Extract进程终止或者操作系统宕机,我们重新启动Extract进程后,GoldenGate能够恢复到以前的状态,从上一个断点处继续往下运行,而不会有任何数据损失。Extract进程的状态包括STOPPED(正常停止)、 STARTING (正在启动) 、 RUNNING(正在运行)、ABENDED(Abnomal End的缩写,表示异常结束)。 


  PUMP进程

  Pump进程运行在数据库源端, 其作用非常简单。 如果源端使用了本地的trail文件, 那么Pump进程就会把trail以数据块的形式通过TCP/IP协议发送到目标端,这通常也是推荐的方式。Pump进程本质是Extract进程的一种特殊形式,如果不使用trails文件,那么就是Extract进程在抽取完数据以后,直接投递到目标端。  

 

Pump 进程相对应的叫Server Collector进程,这个进程不需要引起我们的关注,因为在实际操作过程中无需我们对其进行任何配置,所以对我们来说它是透明的。它运行在目标端,其任务就是把Extract/Pump 投递过来的数据块重新组装成trail文件,我们称之为远程trail文件。 

 

  TRAIL文件

  为了更有效、更安全的把数据库事务信息从源端投递到目标端。GoldenGat引进trail文件的概念。 前面提到Extract抽取完数据以后GoldenGate会将抽取的事务信息转化为一种GoldenGate专有格式的文件。然后Pump负责把源端的trai文件投递到目标端,所以源、目标两端都会存在这种文件,源端存放的trail文件叫本地trail文件,目标端存放的trail文件叫远程trail文件。

   trail文件存在的目的旨在了防止单点故障,将事务信息持久化,并且使用checkpoint机制来记录其读写位置,如果故障发生,则数据可以根据checkpoint记录的位置来重传值得一提的是,trail文件并不是总是必须的。我们可以在配置Extract进程的时候通过TCP/IP协议直接把日志的信息投递到目标端。但通常并不推荐这么做,因为一旦发生系统宕机或者网络故障,则有可能造成数据的丢失。 

 

  REPLICAT进程

  Replicat进程,通常我们也把它叫做应用进程。运行在目标端,是数据传递的最后一站,负责读取目标端trail文件中的内容,并将其解析为DMLDDL语句,然后应用到目标数据库中。 

Extract进程一样,Replicat也有其内部的checkpoint机制,进程重启启动后可以从上次记录的位置开始恢复而无数据损失的风险。 它的运行状态和 Extract进程一致,包括

STOPPED,STARTING,RUNNING,ABENDED。 

 

  GGSCI

  GGSCIGoldenGate Software Command Interface的缩写,它提供了十分丰富的命令来对GoldenGate进行各种操作,如果如创建、修改、监控GoldenGate进程等等。 

我们绝大部分的操作都是通过它来完成的。当然如果您需要GUI方式的图形界面来管理,则需要购买GoldenGate Director。 

 

   

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值