Oracle GoldenGate 介绍及安装配置教程

Oracle GoldenGate介绍

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

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

数据复制的拓扑结构有如下几种

Oracle GoldenGate 介绍及安装配置教程

Goldegate的应用场景

  • A static extraction of data records from one database and the loading of those records
  • to another database.
  • Continuous extraction and replication of transactional DML operations and DDL
  • changes (for supported databases) to keep source and target data consistent.
  • Extraction from a database and replication to a file outside the database.

架构概览

Oracle Goldengate由以下组件组成

  • Extract
  • Data pump
  • Replicat
  • Trails or extract files
  • Checkpoints
  • Manager
  • Collector

Oracle GoldenGate 介绍及安装配置教程

Extract 进程用来捕获数据源,有三种类型

  • 配置为INITIAL LOAD模式时,数据源为表。
  • 数据库的恢复日志(有的数据库也称为事务日志)。
  • 第三方的捕获模型,通过调用Extact API将数据库变更的数据发送给Extract进程。

Data pump 是Extract的辅助可选组件,如果不配置Data pump,Extract将捕获的数据直接发给目标机器上的Collector进程。

使用Data pump能提供如下优点

  • 防止网络或者目标端的Collector发生故障,保护数据丢失。
  • data pump可以用来过虑,转换数据,或配置成Pass-through模式,即不做任何的动作,只是投递数据。
  • 启动多个Data pump实现一对多的数据分发(或者是一张表的数据,根据数据类型发往不同的目的系统)

Replicat 运行在目的服务器上,从Trail文件中读取数据,重构DML、DDL语句,并应用到目的数据库上。你可以配置多个Replicat,并发的工作以提高系统的吞吐量。

Trail 为了支持持续的捕获、复制数据库的变更,Oracle将捕获来的数据库变更临时的记录到一系列的磁盘文件上。这些磁盘文件被称为Trail file。

一个Trail文件只能被一个Extract进行写。每个Extract进程必须链接到一个Trail文件上。

Checkpoints 当Goldengate的进程宕掉后,可以恢复Goldengate实例。

Oracle GoldenGate 介绍及安装配置教程

Manager 是Goldengate的管理进程。

Extract和Replicat启动之前,必须先在每个节点上启动Manager进程。

Manager有如下功能

  • Start Oracle GoldenGate processes
  • Start dynamic processes
  • Maintain port numbers for processes
  • Perform trail management
  • Create event, error, and threshold reports

Collector ,接收远端系统传输的数据,并将其写到Trail文件中 。

group 概览

为了区分系统中多个Extract或者Replicat进程,需要定义处理组

一个组包括如下内容

  • 一个进程,Extract 或者Replicat
  • 它的参数文件
  • 它的checkpoint文件
  • 任何与这个进程相关联的其他文件。

Oracle GoldenGate安装配置教程

首先要下载Oracle GoldenGate的安装包。下载地址如下

http://www.oracle.com/technetwork/middleware/goldengate/downloads/index.html

将Oracle GoldenGate安装包上传至服务器
 
解压压缩包

[oracle@localhost app]$ mkdir /u01/app/ogg                               
[oracle@localhost app]$ unzip -d /u01/app/ogg ogg112101_fbo_ggs_Linux_x64_ora11g_64bit.zip
Archive:  ogg112101_fbo_ggs_Linux_x64_ora11g_64bit.zip
  inflating: /u01/app/ogg/fbo_ggs_Linux_x64_ora11g_64bit.tar 
  inflating: /u01/app/ogg/OGG_WinUnix_Rel_Notes_11.2.1.0.1.pdf 
  inflating: /u01/app/ogg/Oracle GoldenGate 11.2.1.0.1 README.txt 
  inflating: /u01/app/ogg/Oracle GoldenGate 11.2.1.0.1 README.doc 
[oracle@localhost app]$ cd ogg/
[oracle@localhost ogg]$ tar -xvf fbo_ggs_Linux_x64_ora11g_64bit.tar

修改环境变量,添加PATH、LD_LIBARY_PATH

[oracle@localhost ~]$ vi .bash_profile
export PATH=/u01/app/ogg/:$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=/u01/app/ogg:$ORACLE_HOME/lib:/lib:/usr/lib

wKiom1X3ldaAb38mAAB3TDYZgWE819.jpg

进入ogg的安装目录,运行ggsci命令

[oracle@localhost ogg]$ ./ggsci
 
Oracle GoldenGate Command Interpreter for Oracle
Version 11.2.1.0.1 OGGCORE_11.2.1.0.1_PLATFORMS_120423.0230_FBO
Linux, x64, 64bit (optimized), Oracle 11g on Apr 23 2012 08:32:14
 
Copyright (C) 1995, 2012, Oracle and/or its affiliates. All rights reserved.
 
GGSCI (localhost.localdomain) 1>

创建OGG的工作目录

GGSCI (localhost.localdomain) 1> create subdirs
 
Creating subdirectories under current directory /u01/app/ogg
 
Parameter files                /u01/app/ogg/dirprm: already exists
Report files                  /u01/app/ogg/dirrpt: created
Checkpoint files              /u01/app/ogg/dirchk: created
Process status files          /u01/app/ogg/dirpcs: created
SQL script files              /u01/app/ogg/dirsql: created
Database definitions files    /u01/app/ogg/dirdef: created
Extract data files            /u01/app/ogg/dirdat: created
Temporary files                /u01/app/ogg/dirtmp: created
Stdout files                  /u01/app/ogg/dirout: created

配置Manager进程的参数

GGSCI (localhost.localdomain) 6> EDIT PARAMS MGR

添加如下内容,定义Manger进程的通信端口

-- This is the  minimal configuration of Manager
PORT 7809

-- 后面是注释

启动Manager进程

GGSCI (localhost.localdomain) 14> start mgr
 
Manager started.

查看Manager进程

GGSCI (localhost.localdomain) 17> info mgr
 
Manager is running (IP port localhost.localdomain.7809).

停止Manager进程

GGSCI (localhost.localdomain) 18> stop mgr
Manager process is required by other GGS processes.
Are you sure you want to stop it (y/n)? y
 
Sending STOP request to MANAGER ...
Request processed.
Manager stopped.

如果忽略确认信息

GGSCI (localhost.localdomain) 20> stop mgr !
 
Sending STOP request to MANAGER ...
Request processed.
Manager stopped.

相关推荐