Oracle GoldenGate 一、介绍和安装
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 一、介绍和安装的更多相关文章
- [转]Oracle GoldenGate安装配置
ref:http://blog.sina.com.cn/s/blog_5d29418d0101cvyx.html 1 简介 Oracle Golden Gate软件是一种基于日志的结构化数据复制备份软 ...
- Oracle Database 11g Express Editon介绍及安装
一.Oracle Database 11g Express版本介绍 公司项目开发中,使用的数据库是Oracle 10g和MySQL 5.5,最新因为开发需要,需要从后台读取一些数据.使用的客户端是PL ...
- Oracle asm介绍和安装linux+oracle10g+asm过程
Oracle asm介绍和安装linux5.2+oracle10g+asm过程 1)ASM(自动存储管理)的来由: ASM是Oracle 10g R2中为了简化Oracle数据库的管理而推出来 ...
- Oracle GoldenGate学习之Goldengate介绍
Oracle GoldenGate学习之Goldengate介绍 (2012-10-02 17:07:27) 标签: 检查点 数据传输 队列 进程 分类: Goldengate Goldengate介 ...
- oracle goldengate安装
1.ftp工具上传ogg112101_fbo_ggs_Linux_x64_ora11g_64bit.zip分别到source和target服务器 [oracle@localhost mnt]$ ll ...
- Oracle GoldenGate(ogg)安装经验大汇总,采坑总结,绝对干货!
一下是安装ogg过程中遇到的问题和解决办法,绝对良心干货,抽空会写更详细的安装教程.更多精彩内容请点击 OGG-00685 begin time prior to oldest log in log ...
- CentOS安装Oracle数据库详细介绍及常见问题汇总
一.安装前准备 1.软件硬件要求 操作系统:CentOS 6.4(32bit)Oracle数据库版本:Oracle 10g(10201_database_linux32.zip)最小内存:1G(检查命 ...
- 转---CentOS安装Oracle数据库详细介绍及常见问题汇总
一.安装前准备 1.软件硬件要求 操作系统:CentOS 6.4(32bit)Oracle数据库版本:Oracle 10g(10201_database_linux32.zip)最小内存:1G(检查命 ...
- 建立Oracle GoldenGate凭证
了解如何为与数据库交互的流程创建数据库用户,分配正确的权限并防止未经授权使用凭据. 主题: 为Oracle GoldenGate分配凭证 保护Oracle GoldenGate凭证 3.1 为Orac ...
随机推荐
- 扩展ScriptBundle,支持混淆加密javascript
一.需求: 在web开发中,经常会处理javascript的一些问题,其中就包括js的压缩,合并,发布版本以及混淆加密等等问题.在asp.net 开发中我们使用ScriptBundle已经可以解决ja ...
- php 取数组最后一个元素
可以用end()函数取出数组的最后一个元素, $rList = array( array('id'=>1,'txt'=>'a'), array('id'=>2,'txt'=>' ...
- MySQL This function has none of DETERMINISTIC, NO SQL...错误1418 的原因分析及解决方法
MySQL开启bin-log后,调用存储过程或者函数以及触发器时,会出现错误号为1418的错误: ERROR 1418 (HY000): This function has none of DETER ...
- OpenLTE安装教程
安装需求: USB3 interface Modern multicore CPU (Intel Core i5, Core i7 or equivalent with SSE4.1 SSE4.2 a ...
- 【python】Beautiful Soup的使用
1. Beautiful Soup的简介 简单来说,Beautiful Soup是python的一个库,最主要的功能是从网页抓取数据.官方解释如下: Beautiful Soup提供一些简单的.pyt ...
- apache make
https://jingyan.baidu.com/article/7e4409533d7f0f2fc0e2ef91.html 1. apr apr-util http://archive.apach ...
- 文件计数--file_count.sh
countFiles(){ path=$1 pathName=`ls $path` sum=0 for i in $pathName do num=`ls $path$i |wc -l` sum=$[ ...
- mysql-10临时表、复制表
1.创建临时表 mysql临时表在我们需要保存一些临时数据时非常有用. 临时表只在当前连接可见,当关闭连接时,mysql会自动删除表并释放所有空间. 如果使用客户端创建临时表,只有在管不客户端程序时才 ...
- JAVA中方法和变量在继承中的覆盖和隐藏(一)
我们知道,在JAVA中,子类可以继承父类,如果子类声明的方法与父类有重名的情况怎么办,大伙儿都知道要是重写,但是实际上这又分为两种情况,就是方法和变量在继承时的覆盖和隐藏问题,这些概念性的东西看似无聊 ...
- python Flask篇(一)
MarkdownPad Document *:first-child { margin-top: 0 !important; } body>*:last-child { margin-botto ...