zoukankan      html  css  js  c++  java
  • 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架构
     
    支持的异构平台:
     
    支持的架构形式:
     
     
     
     
    实现的功能:
     
     
    三、目录结构
     
    目录          说明
    BR        boundedrecover需要的checkpointfiles
    cfg        配置OGG监控所需要的property和XML文件
    dirchk    Extract或者Replicat进程创建的checkpointfile。cpe和cpr后缀
    dirdat    trial文件的默认存放位置,2个用户定义的字符+6个数字组成
    dirdef    异构数据定义文件,由DEFGEN生成
    dirjar    OGGmonitor相关的jar包
    dirpcs   进程状态文件
    dirprm   参数文件
    dirrpt    进程报告的存储目录
    dirsql    Sql脚本
    dirtmp  超出分配内存的事务临时存储目录
     
    四、 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的内存。
  • 相关阅读:
    Python关键字
    tomcat中 server.xml
    Java web.xml笔记
    HTML标签笔记
    jsp笔记
    Ubuntu 安装 chrome
    隐藏文件管理器左侧导航栏的部分内容
    virtualbox中设置u盘启动
    剑指Offer题解索引
    当你在浏览器地址栏输入一个URL后回车,将会发生的事情?
  • 原文地址:https://www.cnblogs.com/andy6/p/6500868.html
Copyright © 2011-2022 走看看