1 说明

1.1 下载和文档说明

下载地址:http://www.oracle.com/technetwork/middleware/goldengate/downloads/index.html 我下载的是Oracle GoldenGate 12.1.2.1.0版本的Oracle GoldenGate V12.1.2.1.0 for Oracle on Linux x86-64 (336 MB)
在线文档地址:http://www.oracle.com/technetwork/middleware/goldengate/documentation/index.html
Oracle GoladenGate介绍:https://docs.oracle.com/goldengate/1212/gg-winux/GWUAD/wu_about_gg.htm#GWUAD110
Oracle 官方的安装教程:http://www.oracle.com/webfolder/technetwork/tutorials/obe/fmw/goldengate/12c/OGG12c_Installation/index.html
Step by step GoldenGate configuration:https://sachinichake.wordpress.com/2013/05/08/step-by-step-golden-gate-configuration

1.2 资源说明

  • 每个GoldenGate实例可支持5000个Extract和Replicat进程
  • 每个Extract和Replicat需要25-50M或更多的内存,这取决于系统的事物量和事物大小
  • GoldenGate实际使用的物理内存由操作系统控制和管理,GoladenGate 缓存管理器利用操作系统内存管理功能的优势,确保GoladenGate进程持续和有效的工作

1.3 组件说明

1.3.1 Manager

  Manager进程必须在源端和目标端运行,并且在Extract和Replicat进程之前启动,没有该进程OGG无法做其它的操作,它管理启动Oracle GoldenGate进程、启动动态进程、分配端口给GoldenGate进程、管理trail file、创建事件,错误和诊断报告工作;

1.3.2 Extract

  Extract 运行在源端或者根据系统和业务的需求可以同时运行在两端,抽取捕获系统变更统数据;它可以配置为初始化数据加载(直接从数据源中加载静态的数据)和在某个时间点后源端与服务端变更数据同步(从在线日志或归档日志抽取捕获变更的数据),它也可以在支持DDL变更的系统中抽取捕获DDL;
  当配置为数据同步时,extract进程抽取捕获extract配置文件里配置的对象的任何DML和DDL(需要额外配置)的操作,extract进程记录这些操作,直到用户提交或回滚事务;当收到回滚(rollback)时,extract撤销这些记录;当收到(commit)操作后,extract进程记录保存这些操作到一个或多个trail文件里并以队列的形式发送到目标端,以确保数据传输速度和数据的一致性。

1.3.3 Data Pumps

  Data Pumps是第二种类型的GoldenGate extract配置,如果不使用Data Pump,extract进程必须发送抽取捕获的操作数据到目标端trail;如果配置了Data Pump,extract进程抽取捕获数据写入到trail,Data pump读取trail并且通过网络发送trail到目标端trail,data pump 加强了源端和目标端抽取捕获数据的可用性,主要优点:1.保护网络传输失败和目标端失败;2.可以实现复杂的数据过滤和转换;3.可以结合多个数据源到目标端;4.可以同步一个源数据到多个目标端。

1.3.4 Replicats

  Replicat进程运行在目标端读取tail文件和重构DML、DDL并应用到目标数据库;Replicat编译SQL一次,当变量值不同时重复使用编译过的SQL;Replicat进程可以像extract进程一样配置初始化数据加载(直接从数据源中加载静态的数据)和在某个时间点后源端与服务端变更数据同步(从在线日志或归档日志抽取捕获变更的数据);

1.3.5 Trails

  trail文件保存抽取捕获的变更数据信息,trail根据GoldenGate配置可能存在于源系统的磁盘上或者目标系统的磁盘上或者系统内部介质或者相关的系统中;使用trail文件存储抽取捕获的数据可以不依赖于extract或replicat进程,你可以有更多的选择处理数据和何时到达目标端,比如你可能配置抽取和保存在同一时刻,然后稍后发送数据到目标端。
  trail文件可以在进程需要时使用ADD RMTTRAIL or ADD EXTTRAIL命令添加创建,文件名为8个字符,在创建时指定两个字符然后由GoldenGate填充另外六个序列字符,序列字符从000000到999999,比如创建时指定了两个字符为'tr',那么GoldenGate会自动创建从tr000001开始的文件保存抽取捕获的数据;文件名是唯一的,默认保存在GoldenGate_home\dirdat目录下。

1.3.6 Checkpoints

  Checkpoint存储从文件读取和写入的检测点位置,用于还原和恢复数据,Checkpoint确保发生变化并提交(commit)的数据被extract抽取捕获和被replicat进程应用到目标端;保证在系统、网络或者GoldenGate需要重启进程时发生的错误不会导致数据丢失;在复杂的同步配置中checkpoints启用多个extract和replicat进程从同一个trail集中读取数据。

1.3.7 Collector

  collector是目标端后台进程,默认情况下,源端extract进程初始化TCP/IP连接到目标端的collector进程,但是因为GoldenGate是可配置的,所以有些时候可能需要在目标端配置和初始化collector,比如目标端同步时区,但是源端的时区小于目标端的情况下。collector的功能:1.根据源端extract进程的请求,扫描和绑定可用的端口给mgr主进程分配给请求的extract进程;2.接收源端extract抽取trail并写入到目标端的trail文件;当源端发出网络请求时mgr自动启动collector后台进程,所以GoldeGate用户是不可以与它交互的。collector只能同时接受一个extract进程信息(一对一)并且随着extract的终止而终止。  

2 目录和环境变量设置

实验分别在同一台机器上的/u01/app/product/ogg_src目录下安装源端,/u01/app/product/ogg_trg目录下安装目标端为例;

[oracle@sywu ~]$ mkdir -p /u01/app/product/ogg_src
[oracle@sywu ~]$ mkdir -p /u01/app/product/ogg_trg
[oracle@sywu ~]$ ls /u01/app/product
11.2.3 ogg_src ogg_trg

Linux下安装GoldenGate要配置ORACLE_SID、ORACLE_HOME和LD_LIBRARY_PATH;

export ORACLE_BASE=/u01
export ORACLE_HOME=$ORACLE_BASE/app/product/11.2.3/db_1
export ORACLE_SID=sydb
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/lib32
alias sqlplus='rlwrap sqlplus'
alias rman='rlwrap rman'
alias nmon='/usr/nmon/nmon_x86_centos6'
alias bbed='rlwrap bbed'
PATH=$PATH:$HOME/.local/bin:$HOME/bin:$ORACLE_HOME/bin:$ORACLE_HOME/OPatch
export PATH

注意:数操作系统版本、据库版本和Oracle GoldenGate版本bit type要一致,要么全是32bit要么全是64bit;

3 安装GoldenGate

3.1 安装源端GoldenGate

[oracle@sywu ~]$ unzip 121210_fbo_ggs_Linux_x64_shiphome.zip -d /tmp
[oracle@sywu ~]$ /tmp/fbo_ggs_Linux_x64_shiphome/Disk1/runInstaller


根据数据库版本选择对应的GoldenGate选项;

更改GoldenGate Software 安装位置,将其安装到/u01/app/product/ogg_src目录下,检查数据库安装位置是否正确,并配置端口;

检查安装信息,确认无误后开始安装;


这样源端的安装就完成了。

3.2 安装目标端GoldenGate

目标端的配置和安装与源端的安装步骤上都相同,唯一不同的地方是如果在同一台机器上安装源端和目标端,则要将其安装在不同的目录下(此处是/u01/app/product/ogg_trg),并且配置不同的端口(此处是7909);


安装完成后配置OGG命令行快捷命令和回写功能,在.bash_profile配置文件中添加如下内容:

alias tggsci='rlwrap /u01/app/product/ogg_trg/ggsci'
alias sggsci='rlwrap /u01/app/product/ogg_src/ggsci'

上面通过别名的方式配置了源端的OGG ggsci命令sggsci,目标端的OGG ggsci命令tggsci并通过rlwrap 使其支持回写功能,这样在任何位置都可以使用OGG ggsci命令;

[oracle@sywu ~]$ which tggsci
alias tggsci='rlwrap /u01/app/product/ogg_trg/ggsci'
/usr/local/bin/rlwrap
[oracle@sywu ~]$ which sggsci
alias sggsci='rlwrap /u01/app/product/ogg_src/ggsci'
/usr/local/bin/rlwrap
[oracle@sywu ~]$ sggsci Oracle GoldenGate Command Interpreter for Oracle
Version 12.1.2.1.0 OGGCORE_12.1.2.1.0_PLATFORMS_140727.2135.1_FBO
Linux, x64, 64bit (optimized), Oracle 11g on Aug 7 2014 09:14:25
Operating system character set identified as UTF-8. Copyright (C) 1995, 2014, Oracle and/or its affiliates. All rights reserved. GGSCI (sywu) 1> exit
[oracle@sywu ~]$ tggsci Oracle GoldenGate Command Interpreter for Oracle
Version 12.1.2.1.0 OGGCORE_12.1.2.1.0_PLATFORMS_140727.2135.1_FBO
Linux, x64, 64bit (optimized), Oracle 11g on Aug 7 2014 09:14:25
Operating system character set identified as UTF-8. Copyright (C) 1995, 2014, Oracle and/or its affiliates. All rights reserved. GGSCI (sywu) 1> exit
[oracle@sywu ~]$

该版本默认已经自动建立子目录,早期版本可能需要在GGSCI命令行下使用create subdirs命令手工创建;安装完成后查看mgr进程应为running状态;

GGSCI (sywu) 1> view param mgr

PORT 7909

GGSCI (sywu) 2> info mgr

Manager is running (IP port sywu.7909, Process ID 16870).

4 GoldenGate目录结构

说明 后缀名 目录路径
Parameter files .prm /u01/app/product/ogg_src/dirprm
Report files .rpt /u01/app/product/ogg_src/dirrpt
Checkpoint files .cpr /u01/app/product/ogg_src/dirchk
Process status files .pcs /u01/app/product/ogg_src/dirpcs
SQL script files .sql /u01/app/product/ogg_src/dirsql
Database definitions files .def /u01/app/product/ogg_src/dirdef
Extract data files   /u01/app/product/ogg_src/dirdat
Temporary files   /u01/app/product/ogg_src/dirtmp
Credential store files .crd /u01/app/product/ogg_src/dircrd
Masterkey wallet files .wlt /u01/app/product/ogg_src/dirwlt
Dump files .dmp /u01/app/product/ogg_src/dirdmp

5 总结

  GoldenGate由COLLECTOR后台进程、MGR进程、EXTRACT进程、DATA PUMP EXTRACT进程、Replicat等一系列进程组成;COLLECTOR后台进程负责接收和保存源端数据到trail;MGR进程管理启动Oracle GoldenGate进程、分配端口、管理trail file、创建事件,错误和诊断报告工作;EXTRACT进程负责抽取捕获变更数据信息并记录到trail;DATA PUMP EXTRACT是第二种GoldenGate extract 进程配置,它加强了源端和目标端抽取捕获数据的可用性,避免网络错误和目标端失败导致的数据丢失并提供了更复杂的数据过滤和转换功能,以及多源对单目标和单源对多目标的数据同步方式;Replicat进程读取接收到的trail文件,根据trail文件内容重构DML和DDL并应用到目标数据库。

---The end(2015-08-21)

Oracle GoldenGate 一、介绍和安装的更多相关文章

  1. [转]Oracle GoldenGate安装配置

    ref:http://blog.sina.com.cn/s/blog_5d29418d0101cvyx.html 1 简介 Oracle Golden Gate软件是一种基于日志的结构化数据复制备份软 ...

  2. Oracle Database 11g Express Editon介绍及安装

    一.Oracle Database 11g Express版本介绍 公司项目开发中,使用的数据库是Oracle 10g和MySQL 5.5,最新因为开发需要,需要从后台读取一些数据.使用的客户端是PL ...

  3. Oracle asm介绍和安装linux+oracle10g+asm过程

    Oracle asm介绍和安装linux5.2+oracle10g+asm过程   1)ASM(自动存储管理)的来由:   ASM是Oracle 10g R2中为了简化Oracle数据库的管理而推出来 ...

  4. Oracle GoldenGate学习之Goldengate介绍

    Oracle GoldenGate学习之Goldengate介绍 (2012-10-02 17:07:27) 标签: 检查点 数据传输 队列 进程 分类: Goldengate Goldengate介 ...

  5. oracle goldengate安装

    1.ftp工具上传ogg112101_fbo_ggs_Linux_x64_ora11g_64bit.zip分别到source和target服务器 [oracle@localhost mnt]$ ll ...

  6. Oracle GoldenGate(ogg)安装经验大汇总,采坑总结,绝对干货!

    一下是安装ogg过程中遇到的问题和解决办法,绝对良心干货,抽空会写更详细的安装教程.更多精彩内容请点击 OGG-00685 begin time prior to oldest log in log ...

  7. CentOS安装Oracle数据库详细介绍及常见问题汇总

    一.安装前准备 1.软件硬件要求 操作系统:CentOS 6.4(32bit)Oracle数据库版本:Oracle 10g(10201_database_linux32.zip)最小内存:1G(检查命 ...

  8. 转---CentOS安装Oracle数据库详细介绍及常见问题汇总

    一.安装前准备 1.软件硬件要求 操作系统:CentOS 6.4(32bit)Oracle数据库版本:Oracle 10g(10201_database_linux32.zip)最小内存:1G(检查命 ...

  9. 建立Oracle GoldenGate凭证

    了解如何为与数据库交互的流程创建数据库用户,分配正确的权限并防止未经授权使用凭据. 主题: 为Oracle GoldenGate分配凭证 保护Oracle GoldenGate凭证 3.1 为Orac ...

随机推荐

  1. CMS初步认识

    一CMS本质 [1]基本思想是:分离内容的管理和设计,页面显示的风格和框架存储在模板里.至于页面显示的内容存储在数据库中或一个独立的文件中.当一个用户请求页面时,各部分联合生成一个标准的 HTML 页 ...

  2. 几个基于jvm 的微服务框架

    一个简单的整理,留待深入学习 micronaut http://micronaut.io/ sparkjava http://saprkjava.com spring cloud http://pro ...

  3. ASP/ASP.NET/VB6文件上传

    1. asp asp 上传文件真的蛋疼,很麻烦,有时候就用第三方组件,或者比较复杂的写法来实现无组件上传. 测试OK的一个叫风声无组件上传类 V2.1 [Fonshen UpLoadClass Ver ...

  4. emacs之配置gtags

    ~/emacsConfig/gtags-setting.el (if (eq system-type 'darwin) (add-to-list 'load-path "/usr/local ...

  5. ajax readyState=4并且status=200时,还进error方法

    今天在使用jQuery.ajax方法去调用后台方法时,ajax中得参数data类型是"JSON",后台DEBUG调试,运行正常, 返回正常的结果集,但是前端一直都进到ajax的er ...

  6. servlet转发与重定向

    HttpServletRequest: 表示浏览器向服务器发送的请求报文,由Tomcat创建然后作为参数传递给我们doget,dopost方法. 功能:getParameter()获取请求参数 get ...

  7. 介绍一个开源的 C++ 开发框架 openFrameworks 。

    作为一个图形图像方向的研究生,我经常都在和 OpenGL .OpenCV 等多种 C++ 库打交道.这些库遵循着不同的规则和用法:另外,为了让自己的程序具有更多的交互能力,编写界面也是一个家常便饭的工 ...

  8. C++ 函数特性_函数重载

    函数重载 在相同作用域内 用同一函数名定义的多个函数: 参数个数和参数类型不同 int getMax(int x,int y,int z) // 函数名相同都是 getMax() { // to do ...

  9. ROS注册级别LEVEL0-6,原来使用GRE通道是不要钱滴

    GRE通道是没有个数限制的.如果只做一个分公司的PPTP,L2TP,等等,也是不用钱滴. 跑OSPF就不行了,必须要给钱.

  10. pythonNetday06

    进程 Process(target,name,args,kwargs) p.pid : 创建的新的进程的PID号 p.is_alive() 判断进程是否处于alive状态 p.daemon = Tru ...