OGG安装配置详细步骤(一)

Wesley13
• 阅读 734

1、安装GoldenGate

每个GoldenGate实例可支持5000个Extract和Replicat进程

每个Extract和Replicat需要25-50M或更多的内存,这取决于系统的事物量和事物大小

GoldenGate实际使用的物理内存由操作系统控制和管理,GoladenGate 缓存管理器利用操作系统内存管理功能的优势,确保GoladenGate进程持续和有效的工作

1.1****Manager

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

1.2 Extract

Extract 运行在源端或者根据系统和业务的需求可以同时运行在两端,抽取捕获系变更统数据;它可以配置为初始化数据加载(直接从数据源中加载静态的数据)和在某个时间点后源端与服务端变更数据同步(从在线日志或归档日志抽取捕获变更的数据),它也可以在支持DDL变更的系统中抽取捕获DDL;

当配置为数据同步时,extract进程抽取捕获extract配置文件里配置的对象的任何DML和DDL(需要额外配置)的操作,extract进程记录这些操作,直到用户提交或回滚事务;当收到回滚(rollback)时,extract撤销这些记录;当收到(commit)操作后,extract进程记录保存这些操作到一个或多个trail文件里并以队列的形式发送到目标端,以确保数据传输速度和数据的一致性。

1.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.4.Replicats

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

1.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.6 Checkpoints

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

1.7 Collector

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

1.8 GoldenGate的安装

源端oracle数据库

a) 创建源端(目标端)安装目录:

mkdir /opt/oracle/oracle/product/ogg_src

mkdir /opt/oracle/oracle/product/ogg_trg

b)  cd ~ 进入用户根目录修改.bash_profile配置文件内容:

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

PATH=$PATH:$HOME/bin

export PATH

export ORACLE_BASE=/opt/oracle/

export ORACLE_HOME=$ORACLE_BASE/oracle/product/11.2.0/

export ORACLE_SID=orcl

export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib

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

c) 解压安装文件到tmp目录 unzip 122022_fbo_ggs_Linux_x64_shiphome.zip -d /tmp

d) 执行命令,图形界面安装

export 10.00.00.00:0.0  --替换成自己机器IP

xhost +

e) 执行安装命令 /tmp/fbo_ggs_Linux_x64_shiphome/Disk1/runInstaller

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

g) 选择安装目录 (源和目标目录不一样;如果源和目标在同一台机器,端口号要区分一下)

h) Install安装即可

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

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

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

源端、目标端安装方式一样。如果安装在同一台机器注意安装路径和端口要区分。

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
待兔 待兔
4个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Stella981 Stella981
3年前
KVM调整cpu和内存
一.修改kvm虚拟机的配置1、virsheditcentos7找到“memory”和“vcpu”标签,将<namecentos7</name<uuid2220a6d1a36a4fbb8523e078b3dfe795</uuid
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
3年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
3年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
10个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这