ogg概叙、架构、进程

一. OGG 概述

OGG 全称Oracle Golden Gate。

历史:

Golden Gate公司于1995年成立于美国加州旧金山,它的名称源自旧金山闻名于世的金门大桥。两位创始人Eric Fish和Todd Davidson最初旨在为Tandem计算机公司设计一个容错系统,由于Golden Gate的健壮性和出色的数据复制功能,银行用它来把ATM网络的交易数据发送到IBM大型机,后来广泛地应用到金融行业及要求数据复制高效、健壮的各个行业。该公司于2009年9月被Oracle公司收购,在此之前Oracle和Golden Gate公司就有了长达超过10年的合作关系。在Oracle收购Golden Gate以后,与Oracle原有的 Data Guard互为补充,共同为企业提供跨平台实时数据同步的解决方案。

Golden Gate 软件分类说明:

(1)Golden Gate:包括GoldenGate Capture, Deliver 和Active Data Guard, XStream on Oracle DB,并支持各种开放数据系统,是我们通常讲的OGG的概念。

(2)Golden Gate Director:实际上,在下载的时候,可以发现没有Director的类目了,替换的是一个Golden Gate Management Pack的包,其实这个就是之前的OGG Director。Management Pack是基于浏览器的管理工具包,有限使用WebLogic SE,所以配置MP,需要先安装weblogic。

(3)Golden Gate Veridata:跨平台比较复制的源库和目标库,为Golden Gate源端和目标端提供数据比对和校验的功能。

另外,也有不太常见的:
(1)Golden Gate for Mainframe:包括GoldenGate Capture, Deliver for HP Non-Stop, IBM DB2 on 
Mainframe, plus Syncfile。
(2)Golden Gate Adapters:对Java、Flat File、Siebel等的接口包。

二 、OGG架构

支持的异构平台:

支持的架构形式:

实现的功能:

三、 OGG进程

在Oracle OGG 12c中,有如下组件:
(1)Extract
(2)Data pump
(3)Replicat
(4)Trails 或 extract files
(5)Checkpoints
(6)Manager
(7)Collector

1.  Extract 进程

Extract 进程负责数据抽取工作。

Extract 可以配成如下两种模式:
(1)Initial Load:
在初始化装载过程中,Extract 进程直接从源对象中抽取当前的数据。

(2)Change synchronization: 
为了保证源数据和其他对象保持数据的一致,extract 进程会捕获源对象自初始化同步以后的DML 和DDL 的变化。

如果接收到的是rollback,那么Extract 会清除该事务之前的所有记录。

如果接收到的是commit,Extract 会将之前存储的事务信息进行持久化,即将事务信息写入磁盘上的trail 文件,然后按队列传送到目标库。 

2.Data Pump 进程

Data pump 进程是OGG 源库上的一个辅助Extract Group。

3. Replicat 进程

Replicate 进程运行在目标系统上,该进程会读取目标端的trail中的文件,并将解析为DML 或者DDL 语句,然后在目标数据库执行。

Replicate可以配置成如下模式:
(1)Initial loads:

(2)Change synchronization

4. Trails 文件

为了支持连续的extraction 和 replication 数据的改变,OGG抓取这些改变的数据临时存放在一个序列化的磁盘文件里, 这个文件就叫trail。

Trail 文件可以放在源端或者目标端的系统里,甚至可以放到临时中转的系统上,这主要取决与GG 的配置,如果存放在local system上,就叫extract trail 或者 local trail,如果存放在remote system上就叫作remote trail。

创建和维护Trail 文件:

默认情况下,trails存放在GG 安装目录的dirdat 子目录下。

默认情况下,每个trails的文件是10M,为了保证进程的正常运行必须不断的创建的新的trail 文件。 这个过程由OGG 自动实现,并且不影响OGG的运行。

每个新生成的文件,文件名都会继承旧trail文件的前2个字母,然后加上6个数字,这样来进行唯一性约束。 数字从000000到999999。当数字到达999999时,又继续从000000开始。之前的trail 文件被覆盖。

补充: (Extract Files)

Extract file 可以是一个文件,或者配置成多个文件。 配置成多个文件可以避免触及操作对单个文件最大大小的限制。
Extract file 和 trail 文件很类似,但是Extract file中不会存储checkpoints的信息。  Extract file 会在运行时自动创建。

5. Checkpoints 机制 

Replicate都会checkpoint table 和 checkpoint file中记录事务的位置。我们也可以不使用checkpoint table。

6. Manager 进程

Manager 是Golden Gate的控制进程,Manager 必须在所有的Golden Gate端运行,并且要在Extract 或者 Replicat 进程启动之前运行。 在Extract 或者 Replicat进程运行期间,需要一直保证Manager进程的运行,这样才能管理相关的资源。

Manager 进程有如下功能:
(1)启动Golden Gate 进程
(2)启动其他相关的进程
(3)维护进程的端口
(4)管理trail 进程
(5)创建event,error和threshold 的报告。

7.   Collector 进程

target的一个后台进程。

Collector  进程做如下工作:
(1) 将源端Extract 进程的请求发送到Manager进程,扫描并绑定可用的端口,并将端口信息返回给Manager 进程,然后分配给请求的的Extract 进程。

(2) Collector 进程会接收源库Extract 进程发送过来的改变的数据,并将数据写入target 系统的trail 文件中。

srouce 端pump 进程起不来,collector 会锁trail 文件 。 那么我需要确认是哪个pump进程出现问题,view report pump#,查看后找到collector ,kill -9 杀死。

补充说明:

每个Extract 和 Replicat 进程需要大约25-55M的内存。

时间: 2024-10-07 05:29:40

ogg概叙、架构、进程的相关文章

推测Oracle GoldenGate(OGG)目的端 rep进程Checkpoint Lag的计算方法

本文为原创,转载请注明出处. 推测Oracle GoldenGate(OGG)OGG目的端 rep进程Checkpoint Lag的计算方法 背景介绍:如下是OGG目的端的rep进程的显示,当时,OGG源头的传输进程由于网络拥堵的原因,导致传输速度急剧下降,降低为1.5M/分钟.此时,源头已经积压了很多trail file. 也就是说,目的端的rep进程处于"吃不饱"的状态--传输进程的传输速度赶不上rep进程的应用速度. GGSCI (hostb) 5> info repb i

深入Linux内核架构——进程管理和调度(上)

如果系统只有一个处理器,那么给定时刻只有一个程序可以运行.在多处理器系统中,真正并行运行的进程数目取决于物理CPU的数目.内核和处理器建立了多任务的错觉,是通过以很短的间隔在系统运行的应用程序之间不停切换做到的.由此,以下两个问题必须由内核解决:除非明确要求,否则应用程序不能彼此干扰:CPU时间必须在各种应用程序之间尽可能公平共享(一些程序可能比其他程序更重要).本篇博文主要涉及内核共享CPU时间的方法以及如何在进程之间切换(内核为各进程分配时间,保证切换之后从上次撤销其资源时执行环境完全相同)

RxJava概叙

给Android开发者的 RxJava 详解:http://gank.io/post/560e15be2dca930e00da1083 响应式编程是一种异步数据流交互的编程范式,而RxJava就是基于事件操作异步数据流在Java上实现的库 核心的理念是将一切都当做数据流来看待,各种变量,用户输入,数据结构,缓存等等 而Rx库提供了高度抽象的函数来操作流,创建.流入流出.过滤.合并.映射等等各种变换 不仅如此,Rx库还使得异步操作,和错误处理变得非常简洁. 使用了RxJava后明显的好处就是 1解

Java基础概叙

写在开头 我没有很牛逼的技术来概括Java的前世今身,这里主要是结合自己对Java的基础的理解,大致给到一些总结. 结合自己最近读的一些书籍,总结下,正如这句话所说:Read a bit and take it out,then come back read some more. 正文 1. Java语言支持4种类型:Interface.class.array.primitive 前三种通常称为引用类型,class实例.array是对象(Object),而primitive的值则不是Object

深入Linux内核架构-进程管理和调度-脑图

第一次做这么复杂的脑图,省略了很多判断语句,并且默认了很多判断为真,只是帮助回忆,具体实现还是要看源码. 自己也是刚学,很有可能有很多错误的地方,所以不要轻信图中内容. :-) 下载mmap

关于androidManifest.xml的概叙以及intent-filter的详细分析

AndroidManifest.xml配置文件对于Android应用开发来说是比较细但又很重要的基础知识,本文旨在总结该配置文件中常用到的几个属性,以便日后查阅,至于那些比较细的属性,主要是平时开发比较少用便不列举,如果自己有需要直接在eclipse中直接“alt+/”就好了…… 下面是一个比较通用的AndroidManifest.xml文件样例(所建的工程目录是Test), <?xml version="1.0" encoding="utf-8"?>

高可用架构设计与实践

第一课:高可用架构知识原理篇 什么架构的高可用? 架构高可用的重要性? 架构高可用的常用手段都有哪些? 架构高可用评价维度是什么? 架构高可用的考核如何分级? 架构高可用的涉及环节都有哪些? 第二课:高可用架构设计之总体架构篇 高可用架构为什么需要分层? 高可用架构分层设计原则是什么?如何架构分层? 高可用架构分层最佳实践: 我们的实践案例: 第三课:高可用架构设计之硬件篇 如何选择硬件?选择什么样的硬件? 高可用架构硬件层面如何保证? 硬件层面高可用架构保证的最佳实践是什么? 我们的实践案例:

OGG学习笔记01

OGG学习笔记01-基础概述OGG(Oracle Golden Gate),最近几年在数据同步.容灾领域特别火,甚至比Oracle自己的原生产品DataGuard还要风光,主要是因为其跨平台.跨数据库.跨版本的强大特性. OGG理论概念 我们可以搜索到网上对它的简单介绍: Oracle Golden Gate软件是一种基于日志的结构化数据复制备份软件,它通过解析源数据库在线日志或归档日志获得数据的增量变化,再将这些变化应用到目标数据库,从而实现源数据库与目标数据库同步.Oracle Golden

Oracle GoldenGate的思想天空--感悟OGG的本质

本文是原创文章,转载请注明出处 本文的标题,高度模仿白总的<DBA的思想天空--感悟oracle数据库本质>,嘿嘿. 本文说一下自己对OGG的理解,很可能存在不正确的地方,欢迎各位批评指正. 1.OGG是数据同步软件,或者说是逻辑复制软件,其竞争对手有IBM CDC,DELL shareplex,DSG,DDS等等. 2.OGG软件是需要安装在操作系统上的,Oracle DB软件没有自带OGG软件(至少目前是这样的) 3.OGG软件有三大进程(说四大进程也行): 三大进程:源头抽取进程.源头传