GoldenGate软件是一种基于日志的结构化数据复制软件。GoldenGate 能够实现大量交易数据的实时捕捉、变换和投递,实现源数据库与目标数据库的数据同步,保持亚秒级的数据延迟。

GoldenGate能够支持多种拓扑结构,包括一对一,一对多,多对一,层叠和双向复制等等。

一、版本选择与前期准备

OGG安装版本与Oracle的匹配,可以参考这个网站:版本参考

但是最好还是查看Oracle的官方文档,之前我也因为版本的问题安装一直失败。先看Oracle的版本:

先看Oracle的版本:

因为是Oracle 10g的数据库,所以看这个文档知道要使用10.4的版本:OGG文档

找到匹配的OGG版本号后,在 搜索版本 中可以搜索该版本。

注意:

在Oracle GoldenGate 11.2.1.0.22 Patch Set Availability (Doc ID 1669160.1)中提及:

Alert! OGG 11.2.1.0.22 is -not- available for Oracle Database 10g. Oracle GoldenGate 11.2.1.0.20 is the Terminal Release for support of Oracle Database 10g. 

OGG 11.2.1.0.20是最后一个支持10g数据库的版本了。(这个之前我安装了3个版本的OGG,各种问题,一定要注意)

除了源端的OGG以为,还需要下载目标端的应用,所以先查看kafka的版本:

然后检索 Oracle GoldenGate for Big Data 12.3.2.1.0 下载:

注意:下载以后尽快执行安装,不然会说 There are no products in your library。这样的话,只要重新下载就可以了

二、检查数据库配置情况

Ogg是基于日志的结构化数据复制软件,所以源端数据库必须开启归档模式。

归档模式就是保存所有的事务日志,记录对数据库所做的修改,比如插入,删除,更新数据等,对这些操作都会记录在联机重做日志里。相反非归档就是不保存旧事务日志。

检查归档模式、附加日志、强制日志参数是否开启。Oracle 10g要检查回收站功能是否关闭,11g则不必检查。这里使用的是10g的,所以需要通过以下指令检查。

SQL> select log_mode,supplemental_log_data_min,force_logging from v$database;

默认情况下归档模式、附加日志、强制日志参数是关闭的。启动归档模式、附加日志、强制日志。其中开启归档模式需要重启数据库,开启附加日志、强制日志不需要重启数据库。

SQL> shutdown immediate;   //关闭数据库SQL> startup mount;   //启动实例并加载数据库hSQL> alter database archivelog;  //更改数据库为归档模式SQL> alter database force logging;  SQL> alter database add supplemental log data;SQL> alter database open;


然后再检查是否开启,可以看到已经为YES

三、安装GoldenGate

将下载的exe文件执行后就可以在指定路径下看到zip文件:

我把他解压以后再重命名为ogg11.2.1.0.2:

然后进入此文件,然后运行 ggsci.exe ,进入ogg的管理控制台:

四、在Oracle中创建GoldenGate专属用户ogg

SQL> create user ogg identified by ogg;
SQL> grant connect,resource,unlimited tablespace to ogg;
SQL> grant execute on utl_file to ogg;
SQL> grant select any dictionary,select any table to ogg;
SQL> grant alter any table to ogg;
SQL> grant flashback any table to ogg;
SQL> grant execute on DBMS_FLASHBACK to ogg;

这样的权限只能满足DML的配置。DDL还暂时不能满足。至于DDL所需要的配置,下次会更新。

如果觉得这样赋权有点麻烦,也可以直接使用   grant dba to ogg; 

五、配置

在ogg控制台输入命令:create subdirs,初始化目录。创建其需要用到的目录
> create subdirs

各个目录的作用:

(1)dirprm
用于存放GG的参数文件,这些参数文件可以通过系统文本编辑器直接编辑,也可以通过在ggsci命令行下edit params来编辑,达到的效果是一样的。

文件格式如下:
<group name/user-defined name>.prm
比如mgr.prm

(2)dirrpt
用于存放各个进程的报告文件,内容为extract、replicat和manager进程运行相关的统计报告信息。

文件格式如下:
<group name><sequencenumber>.rpt

(3)dirchk
用于存放由extract抽取进程和replicat复制进程创建的checkpoint文件,checkpoint文件保存当前读和写的时间戳信息,通过这些信息保证了数据的准确性和数据容错功能。

文件格式如下:
<groupname><sequence number>.<ext>
group name就是我们配置的进程名称,序列号,加上后缀名成,后缀名称分为cpe(checkpoint extract)和cpr(checkpoint replicat)。

(4)dirpcs
用于存放各个进程的状态信息,当相关进程运行的时候,这些进程的相关信息,比如程序名称,进程名称,进程监听端口,进程ID等等都将被写入各自状态信息文件。

文件格式如下:
<group>.<extension>
其中extension有3个:pce(extract)  pcr(replicat)  pcm(manager)

(5)dirsql
用于存放由TRIGGEN组件创建的SQL脚本文件,这些SQL脚本用于创建GG相关的记录触发器和日志表。

文件格式如下:
用户自定义名称.sql   或者  表名称.sql
注意都是SQL结尾的脚本文件。

(6)dirdef
用于存放由DEFGEN组件创建的定义文件,包含在异构环境同步中的源或者目标端的数据定义。是一个可编辑的文本文件,比如你要添加一个新进创建表的相关的同步定义就可以在此直接编辑。
文件格式如下:
用户通过DEFGEN参数文件自定义

(7)dirdat
用于存放GG跟踪文件和由extract进程创建的抽取文件,这些文件将被复制进程(或者其他需要的)进一步处理和使用。

文件格式如下:
用户自定义的2个前缀字符+6位序列号(跟踪文件)  或者  用户自定义的格式(抽取文件)

(8)dirtmp
用于执行大事务处理过程,官方的说法是当请求的内存超过分配的内存的时候,就会……巴拉巴拉,这个怎么理解和解释呢?临时文件目录?

记住一点就是了:不要编辑里面的任何文件和内容。

六、配置源端的MGR

编辑mgr进程配置文件,没有的话会提示我们创建:

edit params mgr

PORT 7809
DYNAMICPORTLIST  7810-7920
AUTOSTART er *
AUTORESTART er *, retries 5, waitminutes 3
PURGEOLDEXTRACTS ./dirdat/*,usecheckpoints, minkeepdays 7
LAGREPORTHOURS 1
LAGINFOMINUTES 30
LAGCRITICALMINUTES 45

参数解释:

PORT:指定服务监听端口;这里以7809为例,默认端口为7809
DYNAMICPORTLIST:动态端口:可以制定最大256个可用端口的动态列表,当指定的端口不可用时,管理进程将会从列表中选择一个可用的端口,源端和目标段的Collector、Replicat、GGSCI进程通信也会使用这些端口;
COMMENT:注释行,也可以用--来代替;
AUTOSTART:指定在管理进程启动时自动启动哪些进程;
AUTORESTART:自动重启参数设置:本处设置表示每3分钟尝试重新启动所有EXTRACT进程,共尝试5次;
PURGEOLDEXTRACTS:定期清理trail文件设置:本处设置表示对于超过7天的trail文件进行删除。
LAGREPORT、LAGINFO、LAGCRITICAL:定义数据延迟的预警机制:本处设置表示MGR进程每隔1小时检查EXTRACT的延迟情况,如果超过了30分钟就把延迟作为信息记录到错误日志中,如果延迟超过了45分钟,则把它作为警告写到错误日志中。

ACCESSRULE, PROG *, IPADDR 192.168.8.*, ALLOW   一般只设置在目标端,允许被这个网段的ip地址访问。

七、启动MGR进程

start mgr

然后再info all比较,可以发现已经成功执行:

Oracle Golden Gate(OGG)学习——源端安装OGG (数据库版本为Oracle 10g)相关推荐

  1. Oracle Golden Gate 11.2.0.3安装详解

    Oracle Golden Gate 11.2.0.3安装详解 环境 环境变量 安装OGG软件 开始OGG配置 配置源端数据库 源端OGG配置 配置目标端数据库 目标端OGG配置 开启同步 环境 ce ...

  2. oracle golden gate原理和安装配置

    oracle golden gate使用配置 我们采用oracle 11g数据库对应的golden gate传统模式配置: oracle golden gate的逻辑架构: oracle golden ...

  3. Oracle Golden Gate 系列十一 -- 配置 GG DDL 同步 说明 与 示例

    一.DDL 说明 1.1 说明 这部分的说明,在系列四和系列六中已经说明: Oracle Golden Gate 系列六 --11gR2 Ora2Ora 单向复制GG 示例 www.2cto.com/ ...

  4. Oracle Golden Gate - 概念和机制

    Oracle Golden Gate - 概念和机制 (ogg) Golden Gate(简称OGG)提供异构环境下交易数据的实时捕捉.变换.投递. OGG支持的异构环境有: OGG的特性: 对生产系 ...

  5. Oracle Golden Gate

    Oracle Golden Gate 系列 小结 花了大半个月的时间小研究了一下Oracle Golden Gate. 先简单的说说自己学习GG的一个过程.参考资料都是官方文档,官网的链接如下: ht ...

  6. Oracle Golden Gate 系列 小结

    花了大半个月的时间小研究了一下Oracle Golden Gate. 先简单的说说自己学习GG的一个过程. 参考资料都是官方文档,官网的链接如下: http://download.oracle.com ...

  7. Oracle Golden Gate 系列十五 -- GG Trails 说明

    一.Trails 说明 理论知识在系列一里有说明,这里在拿出来看一下: Oracle Golden Gate 系列一 -- GG 架构 说明 http://blog.csdn.net/tianleso ...

  8. Oracle Golden Gate概要

    Oracle GoldenGate简介 Oracle Golden Gate用于源数据库与目标数据库的数据复制备份:可以在异构的环境(各种操作系统和数据库)之间实现数据亚秒级的实时复制备份:以及可以在 ...

  9. Oracle Golden Gate 系列十六 -- 配置 GG 安全 说明 与 示例

    由于GoldenGate所需的用户权限较大,而每个GoldenGate进程配置文件中都需要设置该用户和密码用于数据库登陆,出于安全性的考虑,建议将密码进行加密. 官方文档上介绍的加密有如下三种方法: ...

最新文章

  1. oracle emctl
  2. 算法--------翻转字符串里的单词(Java版本)
  3. 生产者/消费者问题的多种Java实现方式
  4. Hinton神经网络公开课编程练习1 The perceptron learning algorithm
  5. 关于开发工具环境准备事项作为故事来处理的对话
  6. this、new、apply和call详解
  7. 笨方法“学习python笔记之输入
  8. 使用Jersey来创建RESTful WebService
  9. linux对文件属性及权限操作的一些基本命令
  10. Codeforces Round #419 Div. 1
  11. 2022Android SDK下载与安装
  12. 实践应用|Python自动化连接FTP批量下载指定文件
  13. 04L型匹配和T型匹配的核心算法
  14. PHP获取钉钉审批,PHP获取钉钉考勤信息源代码
  15. 一键快速设置图层lisp程序_AE脚本-多图层一键快速排列 Staircase V1.03 + 使用教程...
  16. Redis之击穿、穿透、雪崩问题
  17. ISP - 没有实现编码/解码功能 - VPU区别
  18. Dota对我来说是什么?
  19. 关于主机的思维导图_关于开展思维导图培训的通知
  20. WC2007 剪刀石头布【补集转化+比赛问题费用流】

热门文章

  1. 寻路算法 --- 深度寻路算法
  2. 计算机科学的刊物卷号,期刊的期号和卷号怎么查询
  3. nginx 正向代理https配置
  4. 生活随记 - 一个数据库工程师朋友的困惑
  5. Loadrunner支持的IE版本
  6. WebRTC视频通话中最多能容纳多少用户?
  7. python3 爬虫技巧_用 python 爬虫抓站的一些技巧总结
  8. linux c设置rtc时间,linux内核的rtc时钟配置
  9. 《概率论与数理统计》之概率函数、概率分布函数与概率密度函数理解
  10. NRF52832学习笔记(33)——低功耗实现