技术开发 频道

Oracle Golden Gate数据备份原理简介

  Checkpoints

  为了恢复的目的,Checkpoints进程存储当前写和读到磁盘。Checkpoints是为了确认需要同步而被标记的数据的改变是否被Extract所捕获,并且被Replicat所应用,并且预防数据冗余。它对由于网络、系统、Oracle Goldengate进程需要重启而要丢失数据提供了容错。对于复杂的同步配置,checkpoints能够使多个Extract或者Replicat进程读取同一个trail集,Checkpoints使用内部进程确认以防止消息在网络中丢失。

  Extract为它在数据源和trail中的位置创建checkpoints。因为Extract只捕获提交了的事务,它必须保持对所有打开事务提交事件操作的跟踪。这要求Extract去记录一个检查点,这个点就是当前一个事务日志中正在读的位置,加上最老打开事务的起始位置,可以是当前日志或者前一个日志。

  为了控制在断电后必须重新处理的事务日志的量,Extract在指定的间隔持久化处理当前状态和数据到磁盘,包括状态和长事务数据(如果有的话)。如果Extract在这些间隔中的一段停止,它可以从前一个间隔或最后一个checkpoint的位置进行恢复,而不是回到最老打开的长事务第一次出现的日志的位置恢复。

  Replicat为了在trail中创建checkpoints,Replicat存储它的checkpoints在目标数据库上的一张checkpoint表上,为了使它提交的事务与它在trail中的位置所对应。Checkpoint表通过在一个数据库恢复中确保一个事务只会被应用一次而保证了一致性,即使replicat进程或者数据库进程失败。为了报告的目的,Replicat也会有一个checkpoint文件在磁盘上,存放在Oracle Goldengate安装目录下的dirchk子目录里。

  对于非连续性的,如果需要可以从开始点重新运行的配置,比如初始化加载,Checkpoints是不需要的。

  Manager

  Manager是用来控制Oracle Goldengate的进程的。在Extract和Replicat能运行之前,Manager在每台系统上必须被运行,并且在那些进程运行期间Manager必须保持运行以执行管理功能。Manager执行以下的功能:

  启动Oracle Golden Gate进程,启动动态进程,维护进程端口,执行Trail管理,创建event、error和threshold reports,一个Manager进程能控制多个Extarct或者Replicat进程。在windows系统上Manager能以一个服务运行。实例如下:

  GGSCI (ogg2) 1> edit params ./GLOBALS

  MGRSERVNAME OracleGoldenGate

  ggschema ogg

  C:\>cd D:\goldengate

  C:\>D:

  D:\goldengate>install addservice addevents

  #这样在windows系统服务里就能看到一个OracleGoldenGate的服务

  Collector

  当连续、在线的change synchronization活动时,Collector是一个运行在target端的后台进程。Collector做以下的事情:

  1. 提交一个来自远程Extract的连接请求给Manager,扫描和绑定一个可用的端口并且发送这个端口给Manager用来分配给请求的Extract进程

  2. 接受来自Extract发送过来的提取了的数据库的改变,并且将他们写到一个trail文件中。当有一个网络连接请求时,Manager自动启动Collector,Oracle Goldengate用户不需要与它进行交互。Collector只能从一个Extract进程接收信息,所以你用的每一个Extract都有一个对应的Collector

  默认情况下,是由source端的Extract初始化TCP/IP连接到目标端的Collector,但是Oracle Goldengate也能被配置成由target端的Collector初始化连接。由目标端初始化连接可能是被要求的,比如目标端是在一个信任的网络区域内,而source端是在一个不被信任的网络区域内。

  更多精彩尽在2014年4月10日-12日在北京五洲皇冠国际酒店举办的第五届中国数据库技术大会,敬请期待!

Facebook专家:Hadoop不足以处理大数据
进入官网了解更多详情

1
相关文章