欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

Oracle GoldenGate 学习教程一:介绍和安装

程序员文章站 2024-01-27 16:44:46
...

Manager进程必须在源端和目标端运行,并且在Extract和Replicat进程之前启动,没有该进程OGG无法做其它的操作,它管理启动Oracle

阅读导航

1.说明

1.1.下载和文档说明

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

1.2.资源说明

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

Oracle GoldenGate 学习教程一:介绍和安装


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

Oracle GoldenGate 学习教程一:介绍和安装


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

Oracle GoldenGate 学习教程一:介绍和安装


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

Oracle GoldenGate 学习教程一:介绍和安装


Oracle GoldenGate 学习教程一:介绍和安装


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

3.2.安装目标端GoldenGate