1 简介

Oracle Golden Gate软件是一种基于日志的结构化数据复制备份软件,它通过解析源数据库在线日志或归档日志获得数据的增量变化,再将这些变化应用到目标数据库,从而实现源数据库与目标数据库同步。Oracle Golden Gate可以在异构的IT基础结构(包括几乎所有常用操作系统平台和数据库平台)之间实现大量数据亚秒一级的实时复制,从而在可以在应急系统、在线报表、实时数据仓库供应、交易跟踪、数据同步、集中/分发、容灾、数据库升级和移植、双业务中心等多个场景下应用。同时,Oracle Golden Gate可以实现一对一、广播(一对多)、聚合(多对一)、双向、点对点、级联等多种灵活的拓扑结构

2 GoldenGate安装

2.1 GoldenGate的获取

Oracle GoldenGate(下文简称ogg)软件可以通过ORACLE官方网站进行下载,根据ORACLE的版本及操作系统来下载对应版本的ogg,官方下载地址:

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

2.2 GoldenGate的安装

ogg安装非常简单,但需在源数据库和目标数据库服务器上均安装ogg软件即可,具体请参考以下步骤:

1、 将压缩包解压到系统目录/oracle/ogg (该路径可以根据需要自行选择)

2、 进入/oracle/ogg目录,运行./ggsci,进入ogg管理控制台

3、 在ogg控制台输入命令: create subdirs ,让ogg创建其需要用到的目录

4、 手工在ogg目录下创建discard文件夹,mkdir  discard

5、 配置操作系统环境变量(请确保环境变量配置了ORACLE_HOME和ORACLE_SID)

export LD_LIBRARY_PATH=/oradata/ogg:$ORACLE_HOME/lib:$LD_LIBRARY_PATH

6、 在ORACLE中创建ogg专属用户

[oracle@local ~]$ sqlplus /nolog

SQL> conn / as sysdba

SQL> create user ogg identified by ogg;  (注:账号密码根据实际情况设置)

SQL> grant connect,resource to ogg;

SQL> grant unlimited tablespace to ogg;

SQL> grant execute on utl_file to ogg;

7、 为新创建的ogg用户执行配置脚本

在ogg的安装目录下登陆sqlplus,使用sys登陆sqlplus,然后执行如下配置

[oracle@local ~]$ sqlplus /nolog

SQL> conn / as sysdba

SQL> @marker_setup.sql

SQL> @ddl_setup.sql;

SQL> @role_setup.sql;

SQL> grant GGS_GGSUSER_ROLE to ogg;

SQL> @ddl_enable.sql;

进入ogg控制台,测试用户是否创建成功

GGSCI (local) 1> dblogin userid ogg

Password: ogg

Successfully logged into database.

通过上述步骤,ogg就安装成功了。

3 单项复制的配置

为了能让ogg成功的将源数据库及目标数据库进行同步,下面还需要对ogg及oracle进行一系列配置(ogg支持多种复制方式,比如单项复制、双向复制等等,因实际需要,本文仅介绍单项复制相关配置)。

首先说说ogg的一些概念:

1、 Manager:ogg所有服务必须依赖Manager,Manger如同ogg的总调度。

2、  Extract :ogg用来获取源数据库数据更新的,将变更的数据发送到目标数据库

3、 Replicat :ogg用来接收源数据库的更新,一旦源数据库Extract将数据发送过来后,Replicat会自动将更新脚本同步到目标数据库。

3.1 源服务器配置

1、开启ORACLE归档模式,设置日志模式

[oracle@local ~]$ sqlplus /nolog

SQL> conn / as sysdba

SQL> shutdown immediate;

SQL> startup mount;

SQL> alter database archivelog;

SQL> alter database force logging;

SQL> alter database add supplemental log data;

SQL> alter database open;

2、 回收站功能会影响同步,需要关闭回收站

SQL>alter session set recyclebin=off;

SQL>alter system set recyclebin=off;

3、配置环境变量NLS_LANG(不配置中文同步会乱码)

首先在oracle中查询select userenv( 'language') from dual;

然后将查询的结果配置到linux环境变量中

如export NLS_LANG=” SIMPLIFIED CHINESE_CHINA.ZHS16GBK”

4、登陆ogg控制台,设置需要进行同步的oracle表

GGSCI (local) 1> dblogin userid ogg

GGSCI (local) 1> add trandata dbuser.*

5、配置ogg manager&启动manager(配置界面操作类似vi)

GGSCI (local) 1> edit param mgr

PORT 7809

GGSCI (local) 1> info all(查看当前mgr状态)

GGSCI (local) 1> start manager(启动manager,启动完后可以用info all再次查看状态)

6、 添加一个ogg extract进程,用于抽取源服务器数据

GGSCI (local) 1> add extract ext4,tranlog,begin now (增加一个抽取进程ext4,ext4名字可以根据需要修改)

GGSCI (local) 1> add exttrail /oracle/ogg/dirdat/wf,extract ext4 (将ext4抽取的源数据变更数据写到该文件夹)

GGSCI (local) 1> edit params ext4 (修改ext4的配置参数)

extract ext4

userid ogg,password ogg

rmthost xxxx.xxx.xxx.xxx,mgrport 7809 --目标服务器ip

rmttrail /oracle/ogg/dirdat/wf         --目标服务器文件夹

ddl include mapped objname dbuser.*;

table dbuser.*;

配置完成后可以通过info all查看到新添加的extract的状态

7、启动ogg extract命令

GGSCI (local) 1> start extract ext4 (等目标服务器ogg配置成功后再启动ext)

3.2 目标服务器配置

1、登陆ogg控制台

GGSCI (local) 1> dblogin userid ogg

2、配置ogg manager&启动manager(配置界面操作类似vi)

GGSCI (local) 1> edit param mgr

PORT 7809

DYNAMICPORTLIST 7840-7850  --远程队列端口范围

GGSCI (local) 1> info all(查看当前mgr状态)

3、 添加一个ogg replicat进程,用于更新目标服务器数据

GGSCI (local) 1> edit params ./GLOBAL

GSSCHEMA ogg

CHECKPOINTTABLE ogg.checkpoint

GGSCI (local) 2> dblogin userid ogg

Password: ogg

Successfully logged into database.

GGSCI (local) 3> add checkpointtable ogg.checkpoint

Successfully created checkpoint table ogg.CHECKPOINT.

GGSCI (local) 4> ADD replicat rep2 EXTTRAIL /hom/wangfan/ggs/dirdat/wf, checkpointtable ogg.checkpoint

GGSCI (local) 5> edit param rep2

--Replicat group --

replicat rep2

--source and target definitions

ASSUMETARGETDEFS

--target database login --

userid ogg, password ogg

--file for dicarded transaction --

discardfile /oracle/ogg/discard/rep2_discard.txt, append, megabytes 10

--ddl support DDL

DDL INCLUDE MAPPED

DDLERROR DEFAULT IGNORE RETRYOP

--Specify table mapping ---

map dbuser.*, target dbuser.*;

配置完成后可以通过info all查看到新添加的extract的状态

4、启动ogg manager & replicat命令

GGSCI (local) 1> start manager

GGSCI (local) 1> start replicat rep2

最后参考源服务器配置,启动ext4

4 维护相关

4.1 OGG常用命令

1、  启动manager:start manager

2、  启动extract:start extract extn

3、  启动replicat:start replicat repn

4、  停止manager:stop manager

5、  停止 extract:stop extract extn

6、  停止replicat:stop replicat repn

7、  删除extract:delete extract extn

8、  删除replicat:delete extract repn

9、  查看ogg状态:info all

10、 修改manager参数:edit params mgr

11、 修改extract参数:edit params extn

12、 修改replicat参数:edit params repn

13、 修改全局参数:edit params ./GLOBAL

4.2 OGG日志路径

$OGG_HOME/ggserr.log

4.3 OGG开机自启

操作系统设置:

1、用oracle用户建立/oracle/ogg/autostart/info.txt,文件内容如下:

sh dat

start mgr

2、chmod x info.txt

3、用oracle用户建立/oracle/ogg/autostart/startmgr.sh,文件内如下:

/oracle/ogg/ggsci paramfile /oracle/ogg/autostart/info.txt >> /oracle/ogg/autostart/log.txt

4、chmod x startmgr.sh

5、用root用户编辑 /etc/rc.local ,添加如下信息:

su - oracle -c "/oracle/ogg/autostart/startmgr.sh"

OGG设置:

在ogg中主进程是manager进程,使用startmgr启动。可以在mgr进程中添加一些参数用来在启动mgr进程的同时启动extract和replicat进程。

1、以下是extract端的mgr参数配置

GGSCI (gg01) 130> edit params mgr

PORT 7809

DYNAMICPORTLIST 7800-7909

--启动mgr进程启动启动extract进程

AUTOSTART EXTRACT *

--extract异常终止时会自动启动,每5分钟尝试重新启动所有的extract进程,一共尝试3次,5分钟清零

AUTORESTART EXTRACT *,RETRIES 3, WAITMINUTES 5, RESETMINUTES 10

2、配置目标端replicat进程自启动,在mgr参数中添加如下

GGSCI (gg02) 140> edit params mgr

PORT 7809

--动态端口,当指定端口不可用时,会从以下列表中选择一个可用端口

DYNAMICPORTLIST 7800-7909

--自动启动replicat进程

AUTOSTART REPLICAT *

--当replicat进程异常终止时会自动启动,每5分钟尝试重新启动所有的replicat进程,一共尝试5次

AUTORESTART REPLICAT *, WAITMINUTES 2, RETRIES 5

--mgr每隔1小时检查extract延时情况,超5分钟作为信息记录log中,超过7分钟作为警告记录log中

LAGREPORTHOURS 1

LAGINFOMINUTES 5

LAGCRITICALMINUTES 7

--删除10天前的trail文件

PURGEOLDEXTRACTS /oracle/ogg/dirdat/*, USECHECKPOINTS, MINKEEPDAYS 10

Oracle GoldenGate常用配置端口的更多相关文章

  1. Oracle GoldenGate常用参数详解

    Oracle GoldenGate常用参数详解http://blog.itpub.net/28389881/viewspace-2564461/

  2. [转]Oracle GoldenGate安装配置

    ref:http://blog.sina.com.cn/s/blog_5d29418d0101cvyx.html 1 简介 Oracle Golden Gate软件是一种基于日志的结构化数据复制备份软 ...

  3. Oracle GoldenGate常用参数

    OGG(Oracle GoldenGate)参数介绍 所有的GoldenGate进程均有参数文件 Manager Extract Replicat Utilities 所有参数均有缺省配置 实际应用只 ...

  4. Oracle GoldenGate理论

    1Oracle GoldenGate处理方法和支持的数据库Oracle GoldenGate在多样和异构的基础IT平台中,可以在事务级别上进行数据交换和数据操作.在保证交易完整性和最小的开销的条件下, ...

  5. ORACLE GoldenGate在Windows与AIX平台ORACLE的单向、双向数据传输配置及其测试

    第1章...... GoldenGate概述 1.1         GoldenGate技术原理 1.2         GoldenGate可靠的复制 1.3         GoldenGate ...

  6. Oracle GoldenGate 二、配置和使用

    Oracle GoldenGate 二.配置和使用 配置和使用GoldenGate的步骤 1 在源端和目标端配置数据库支持GoldenGate 2 在源端和目标端创建和配置GoldenGate实例 3 ...

  7. 『OGG 03』Win7 配置 Oracle GoldenGate 一次性成功(包括Adapter Java)

    安装Oracle: 安装 Oracle_11g 32位[Oracle 32位的话,OGG 也必须是 32位,否则会有0xc000007b无法正常启动 错误] 安装目录为 D:\oracle\produ ...

  8. 『OGG 02』Win7 配置 Oracle GoldenGate Adapter Java 踩坑指南

    上一文章 <__Win7 配置OGG(Oracle GoldenGate).docx>定下了 两个目标: 目标1: 给安装的Oracle_11g 创建 两个用户 admin 和 root ...

  9. 配置Oracle GoldenGate安全性

    本章介绍如何配置Oracle GoldenGate安全性. 本章包括以下部分: Overview of Oracle GoldenGate Security Options Encrypting Da ...

随机推荐

  1. JAVA记录-SpringMVC国际化配置

    1.搭建SpringMVC框架,不过多阐述 2.spring-mvc.xml加入以下配置: <!-- 国际化资源配置,资源文件绑定器--> <bean id="messag ...

  2. .NET MVC中的数据验证

    一  概述 关于数据验证和数据注解,是任何软件系统不可小觑的必要模块,主要作用是为了保证数据安全性.防止漏洞注入和网络攻击.从数据验证的验证方式来说,我们一般分为客户端验证和服务端验证(或者两种方式相 ...

  3. PHP7 学习笔记(八)JetBrains PhpStorm 2017.1 x64 MySQL数据库管理工具的使用

    填写基本信息 这时候我们可以看到已经连接成功的数据库了 打开一个表,我们可以很清楚的看到数据库表的数据 切换到DDL模式

  4. Docker入门02——Dockerfile详解

    基本示例 FROM MAINTAINER LABEL RUN ADD COPY CMD ENTRYPOINT ENV EXPOSE VOLUME WORKDIR USER ARG 基本示例 # Thi ...

  5. C# Regex正则常用方法的使用

    using System; using System.Collections; using System.Configuration; using System.Data; using System. ...

  6. Python3之网络爬虫<0>初级

    由于Python3合并URLib与URLlib2统一为URLlib,Python3将urlopen方法放在了urllib.request对象下. 官方文档:https://docs.python.or ...

  7. oracle锁表

    一.锁表的处理 Oracle锁表比较简单,查询锁表的session杀掉就可以了. 1.以下几个为相关表 SELECT * FROM V$LOCK; SELECT * FROM V$SQLAREA; S ...

  8. tcp的连接断开

    tcp的断开连接是需要主机完成四次挥手的过程的,并不是断网了就表示断开连接了.假如双方已经建立起了连接,突然一方断网(比如突然停电,或者网线突然被拔了),对于另一方来讲他并不会知道这个情况,他依然认为 ...

  9. CentOS6.4下Mysql数据库的安装与配置

    原文连接:http://www.cnblogs.com/xiaoluo501395377/archive/2013/04/07/3003278.html 说到数据库,我们大多想到的是关系型数据库,比如 ...

  10. SpringBoot2.x过滤器Filter和使用Servlet3.0配置自定义Filter实战

    补充:SpringBoot启动日志 1.深入SpringBoot2.x过滤器Filter和使用Servlet3.0配置自定义Filter实战(核心知识) 简介:讲解SpringBoot里面Filter ...