当前位置:文档之家› GoldenGate安装部署及解决方案

GoldenGate安装部署及解决方案

GoldenGate安装部署及解决方案
GoldenGate安装部署及解决方案

GoldenGate安装部署及解决方案

目录

GoldenGate安装部署及解决方案 (1)

1、GoldenGate 简介 (3)

2、文档约定和说明 (5)

3、GoldenGate软件安装 (6)

3.1 GoldenGate软件安装包下载 (6)

3.2 Windows下安装 (7)

3.3 Linux和Unix下安装 (8)

4、GoldenGate同步基本配置 (9)

4.1 oracle之间同步和GoldenGate基础 (9)

4.2 oracle与db2同步 (17)

4.3 oracle与sybase同步 (18)

5、GoldenGate同步方案 (19)

5.1 使用GoldenGate初始化加载 (19)

5.2 一对多数据同步(广播复制) (21)

5.3 多对一数据同步(集中复制) (22)

5.4 数据转换和过滤 (23)

5.5 关于目标端高数据安全性下的GoldenGate配置方案 (27)

5.6 GoldenGate双向复制(active-active) (30)

6、GoldenGate数据同步性能测试 (33)

6.1 测试中主要监测数据和监测方式 (33)

6.2 测试脚本和GoldenGate配置 (34)

6.3 测试步骤 (38)

6.4 性能测试结果 (40)

7、GoldenGate推荐配置 (42)

7.1 添加必要的环境参数 (42)

7.2 BATCHSQL参数 (42)

7.3 数据库用户密码加密 (43)

7.4 trail再压缩 (44)

8、GoldenGate Troubleshooting (45)

8.1 一些常用的进程信息和日志的查看方式 (45)

8.2 解析trail文件 (45)

附:GoldenGate新版本的一个特性 (46)

参考文档 (48)

文档控制

1、GoldenGate 简介

GoldenGate软件是一种基于日志的结构化数据复制软件,它通过解析源数据库在线日志或归档日志获得数据的增删改变化,再将这些变化应用到目标数据库,实现源数据库与目标数据库实时同步(real-time data synchronize)、双活(active-active high availability)。GoldenGate软件可以在异构的IT基础结构(包括几乎所有常用操作系统平台和数据库平台)之间实现大量数据亚秒一级的实时复制,其复制过程简图如下:

如上图所示,GoldenGate的数据复制过程如下:

利用捕捉进程(Capture Process)在源系统端读取Online Redo Log或Archive Log,然后进行解析,只提取其中数据的变化如增、删、改操作,并将相关信息转换为GoldenGate自定义的中间格式存放在队列文件(trail)中。再利用传送进程将队列文件通过TCP/IP传送到目标系统。捕捉进程在每次读完log中的数据变化并在数据传送到目标系统后,会写检查点(checkpoint),记录当前完成捕捉的log位置,检查点的存在可以使捕捉进程在中止并恢复后可从检查点位置继续复制;

目标系统接受数据变化并缓存到GoldenGate队列当中,队列为一系列临时存储数据变化的文件,等待投递进程读取数据;

GoldenGate投递进程从队列中读取数据变化并创建对应的SQL语句,通过数据库的本地接口执行,提交到数据库成功后更新自己的检查点,记录已经完成复制的位置,数据的复制过程最终完成。

由此可见,GoldenGate是一种基于软件的数据复制方式,它从数据库的日志解析数据的变化(数据量只有日志的四分之一左右)。GoldenGate将数据变化转化为自己的格式,直接通过TCP/IP网络传输,无需依赖于数据库自身的传递方式,而且可以通过高达9:1的压缩率对数据进行压缩,可以大大降低带宽需求。在目标端,GoldenGate可以通过交易重组、分批加载等技术手段大大加快数据投递的速度和效率,降低目标系统的资源占用,可以在亚秒级实现大量数据的复制,并且目标端数据库是活动的

GoldenGate提供了灵活的应用方案,基于其先进、灵活的技术架构可以根据用户需求组成各种拓扑结构,如图所示:

GoldenGate可以提供可靠的数据复制,主要体现在下面三点:

(1)保证事务一致性

GoldenGate在灾备数据库应用复制数据库交易的顺序与在生产中心数据库上的顺序相同,并且按照相同的事务环境提交,确保在目标系统上数据的完整性和读一致性,为实时查询和事务处理创造了条件。

(2)检查点机制保障数据无丢失

GoldenGate的抽取和复制进程使用检查点机制记录完成复制的位置。对于抽取进程,其检查点记录当前已经抽取日志的位置和写队列文件的位置;对于投递进程,其检查点记录当前读取队列文件的位置。检查点机制可以保证在系统、网络或GoldenGate进程故障重启后数据无丢失。

(3)可靠的数据传输机制

GoldenGate用应答机制传输交易数据,只有在得到确认消息后才认为数据传输完成,否则将自动重新传输数据,从而保证了抽取出的所有数据都能发送到备份端。数据传输过程中支持128位加密和数据压缩功能。

Oracle 公司的GoldenGate产品,可以在异构的IT基础结构之间实现大量数据的秒一级的数据捕捉、转换和投递。目前最新版本为V11.1.1.1.0。

GoldenGate可以支持几乎所有常用操作系统如和数据库平台,如下表所示:

2、文档约定和说明

为统一表示命令和便于查看,对格式作如下约定:

GG_HOME>表示从操作系统命令行(cmd)进入GoldenGate安装路径下执行命令。GGSCI>表示在GoldenGate命令环境中执行命令。

SQL>表示在数据库下执行SQL语句

/***

***/ 表示配置文件内容,/***不包含在内。

<>表示自定义参数,如自定义表名

以下示例中若无特殊说明,GoldenGate使用的版本主要为11.1,部分使用10.4版本,除部分新特性,两者基本无差别;GoldenGate命令行中的操作均是在mgr主进程running时进行,当然,GoldenGate安装部分除外。

补充说明:

该文档主要介绍GoldenGate基本使用、GoldenGate的各类解决方案,以及以往本人在使用测试中总结的经验,文中的例子和执行的命令都是参照官方文档并亲自测试执行过。但因个人能力所限,错漏之处再所难免,文档中也不可能覆盖GoldenGate的方方面面。而且,因为GoldenGate本身提供了大量的参数,也不可能在这里一一列举,本文档中只举例了常用的一些参数命令,关于各个参数的具体使用语法和作用,还请参照官方文档《Oracle GoldeGate Reference Guide》。

3、GoldenGate软件安装

在不同的操作系统和平台上安装GoldenGate,需要在官网下载对应的版本。32位系统和64位系统的安装介质虽然不同,但是在同一OS上安装方式是一样的。

GoldenGate需要解析数据库的日志文件,所以安装位置必须要能访问到日志文件(在线日志和归档文件),并具有相应的权限。

3.1 GoldenGate软件安装包下载

经常有人问我GoldenGate的下载地址,所以在这里专门说明一下。

GoldenGate软件的官方下载地址:https://www.doczj.com/doc/cc18559741.html,/目前只有这个地址能下到对应32位操作系统的安装介质。

首页如下:

网页开头点击这个Continue进入下载。

首次进入需要登记一些个人信息,如名字、公司等,然后下方选择同意协议之类的,点Continue进入搜索。

搜索时如下选择:

点GO,然后选择对应版本的Oracle GoldenGate下载。GoldenGate安装包一般只有几十兆的大小,下载还是很快的。

GoldenGate除了同步软件这块,还有其他相关的产品,比如Oracle GoldenGate Director,用于集中图形化管理和监控;Oracle GoldenGate Veridata,用于两端同步数据质量检验。在本文档中暂不介绍。

3.2 Windows下安装

(1)安装MicrosoftVisual C ++ 2005 SP1

Windows操作系统需要首先下载安装MicrosoftVisual C ++ 2005 SP1发行包(注意该软件也分32位和64位)。

(2)绿色安装GoldenGate

下载对应平台版本的GoldenGate安装包,解压。然后进入操作系统命令行(cmd),进入GoldenGate解压路径下,执行:

GG_HOME>ggsci --进入GoldenGate命令窗口模式

GGSCI> CREATE SUBDIRS--建立子目录

GGSCI>edit param mgr --配置GoldenGate主进程参数

由于第一次执行该命令,会提示创建mgr参数文件,点“是”并在文本中输入如下参数:

/***

PORT 7801--GoldenGate主进程端口号

DYNAMICPORTLIST 7802-7820--GoldenGate为进程间通讯动态分配的端口段,注意这里如果分配的端口

端少于extract-replicat进程对的话,会导致部分进程因通讯失败而出

错。

***/

保存,生成的参数文件保存在GG_HOME\ dirprm下

然后可以启动GoldenGate主控制进程:

GGSCI>start mgr

GGSCI>info all --查看进程状态

如果进程MANAGER状态显示为RUNNING则表示主进程已在运行。至此软件安装完成。

(3)管理GoldenGate服务

在WINDOWS下还可以将GoldenGate主进程作为系统服务进行管理,如下配置:GGSCI>edit param ./globals --配置全局参数,注意前面的./ 表明与其他参数文件位置不同,该参数文件是直接位于GoldenGate安装路径下的

输入:

/***

MGRSERVNAME --GoldenGate主进程端口号,为自定义的系统服务名

***/

然后退出GGSCI命令行:GGSCI> exit

GG_HOME> install addservice addevents --创建服务,完成后可以直接进服务进行管理

WINDOWS删除GoldenGate服务:

GG_HOME>install deleteevents deleteservice--对应删除服务操作

或者在注册表删除:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services 一般服务会以相同的名字在这里显示一个主健,直接删除相关的键值便可

3.3 Linux和Unix下安装

(1)检查必需的lib包

下载对应平台版本的GoldenGate,解压。在解压路径下执行:

[root@GG_HOME]> # ldd ggsci

将列出所有需要的lib和当前缺少的。GoldenGate在Linux和Unix下安装,需要安装ORACLE的lib环境以及$ORACLE_HOME/lib下的几个包,所以必须安装在Oracle之后,而且确保在环境变量中加入:

export LD_LIBRARY_PATH=$ORACLE_HOME/lib

(2)绿色安装GoldenGate

在解压路径下执行./ggsci进行接口命令行,

[root@GG_HOME]># ./ggsci --进入GoldenGate命令窗口模式

GGSCI> CREATE SUBDIRS--建立子目录

GGSCI>edit param mgr --配置GoldenGate主进程参数

由于第一次执行该命令,会提示创建mgr参数文件,点“是”并在文本中输入如下参数:

/***

PORT 7801--GoldenGate主进程端口号

DYNAMICPORTLIST 7802-7820--GoldenGate为进程间通讯动态分配的端口段,注意这里如果分配的端口

端少于extract-replicat进程对的话,会导致部分进程因通讯失败而出

错。

***/

保存,生成的参数文件保存在GG_HOME\ dirprm下

然后可以启动GoldenGate主控制进程:

GGSCI>start mgr

GGSCI>info all --查看进程状态

如果进程MANAGER状态显示为RUNNING则表示主进程已在运行。至此软件安装完成。

和Windows下安装的主要区别是需要确认必需的lib包,进入GGSCI接口命令行后的操作都是一致的。

4、GoldenGate同步基本配置

GoldenGate支持目前大部分主流数据库,这也是它的优势之一。下面列举了Oracle、Db2、Sybase之间的同步。

同步测试的准备工作中,有一部分是共通的,如下:

(1)在源端和目标端建立相同结构的两个表,建立主键。保证复制的对象在一开始是一致的。

(2)保证没有相关对象的触发器(会导致数据冲突的那些)或设置失效。

(3)数据库需要开启必须的日志模式。不同数据库的配置差异主要在这一步。

(4)源端和目标端都需要安装相应版本的GoldenGate软件,并分配一个有DBA权限的数据库用户给GoldenGate用以连接数据库。

备注:分配给GoldenGate的用户一般情况下并不需要完全的DBA权限,在官方文档上有详细的权限需求说明,但是完全按照那个配置比较繁琐。额外的,如果数据库使用ASM时,需要sysdba权限。

4.1 oracle之间同步和GoldenGate基础

4.1.1 Oracle数据库设置

首先安装好ORACLE,设置好ORACLE_SID,ORACLE_HOME等环境变量。当然,推荐的做法是在每个进程配置文件里都加上指定的环境变量参数,在后面优化配置中进行说明。

Oracle数据库需要开启归档日志,并开启最小附加日志模式。

SQL> select supplemental_log_data_min from v$database;--查看是否开启了最小附加日志模式SQL>alter database add supplemental log data; --开启最小附加日志模式

实际生产应用中,最好同时打开ORACLE的强制日志模式,以防止源数据库因直接路径加载忽略redo生成而导致这部分数据无法同步:

SQL>select force_logging from v$database;

SQL> Alter database force logging;

光开启最小附加日志模式还不够,还需要打开表级的补全日志,可以在GoldenGate中使用add trandata命令强制重做日志记录主键值,以保证在目标端能成功复制:GGSCI>dblogin userid ddw,password ddw--GoldenGate中登录OARCLE数据库

GGSCI>add trandata ddw.--表名可以使用通配符

GGSCI> add trandata coss3.per_test,nokey,cols(sampletime, objectid)

--无主键指定字段补全的示例

也可以在数据库中打开:

SQL>alter table add supplemental log data (primary key) columns;

千万不要小看这步日志设置,其实在GoldenGate的配置中,这步是最容易出错的环节。如果开启DDL复制做冗灾备份,最好直接在数据库级别打开补全日志:

SQL> alter database add supplemental log data (primary key,unique,foreign key) columns; 检查一下,全是YES就OK了(整个数据库级别补全)

SQL> select supplemental_log_data_min,

supplemental_log_data_pk,supplemental_log_data_ui

from v$database;

4.1.2关于Oracle补全日志补充说明

Oracle日志(redo log)一般用于实例恢复和介质恢复,但是如果需要靠日志还原完整的DML操作信息(比如Logmnr、Streams和这里的Goldengate),默认记录的日志量还不够。比如一个UPDATE的操作,默认redo只记录了rowid以及被修改的字段信息,但这里GoldenGate还原这个事务,因为不是根据rowid而是SQL层面根据唯一键值来定位记录,所以还需要将主键或者其他字段的信息附加到日志中去。要往日志中增加这些额外字段信息的操作,就是开启补全日志,即Add Supplemental Logging。打开补全日志,会使数据库的日志量增加,所以只打开需要的级别和对象即可。

Oracle补全日志可以在数据库级别设置,也可以在表级别设置。在数据库级别中,补全日志按补全的信息量,对应好几个级别:

(1)最小附加日志(Minimal supplemental logging):是开启logmnr的最低日志要求,提供了行链接(chained rows)和多种数据存储(比如聚簇表、索引组织表)的

信息。在Oracle 9.2之后的版本中,默认都不开启。

(2)主键补全(Primary key supplemental logging):在日志中补全所有主键列。如果表中无主键,则补全一个非空唯一索引列;如果非空唯一索引键也没,那么会

补全除了LOB和LONG类型字段以外的所有列,这时就和下面的所有补全一样

了。

(3)唯一键补全(Unique key supplemental logging):当唯一键列或位图索引列被修改时,在日志中补全所有唯一键列或位图索引列。打开唯一键补全也会同时打

开主键补全。注意这个级别是需要条件触发的。

(4)外键补全(Foreign Key supplemental logging):当外键列被修改时,将在日志中补全所有外键列。这个级别也是需要条件触发的。

(5)所有补全(All supplemental logging):在日志中补全所有字段(排除LOB和LONG 类型)。

这里对于补全日志的详细操作语句不做一一说明。

数据库级别中的5个类型中,除了最小附加日志级别,都可以在表级进行设置。除此之外,表级还可以明确指定需要补全的列。

Oracle表级补全日志需要在最小补全日志打开的情况下才起作用,即若一个数据库没有

开最小补全日志或之前drop supplemental log data操作则即便指定了表级补全日志,实际在重做日志输出的过程中描述的记录仍只记录rowid和相关列值。而要关闭最小补全日志,也必须首先关闭数据库级别的其他补全级别后,才能关闭。

所以在GoldenGate中,对于Oracle数据库的日志补全要求,至少是打开最小附加日志和主键补全。主键补全只要在需要同步的表上开启即可。当然GoldenGate的add trandata 语法中也可以指定补全的列,这和Oracle表级补全日志的功能完全一致。毕竟,日志还是由数据库生成的,GoldenGate并不能直接控制日志的生成方式和规则,只能根据所捕获的数据库的日志规则而来。不同的数据库,日志补全的规则也会不同。

以上部分内容参考自《Oracle 10gR2 Utilities》Supplemental Logging部分

4.1.3 dml同步

4.1.3.1 一对一的实时同步简单配置

同步流程如图:

(1)源数据库端添加提取进程(extract process)

GGSCI>add extract extl,tranlog,begin now--新增抽取进程extl,基于日志方式,立即生效

需要注意的是,GoldenGate中的进程名最长只能8个字符。

注意,如果是在RAC环境下,需要再加上THREADS 指定提取的日志THREAD

GGSCI>add extract extl,tranlog,begin now , THREADS

GGSCI>edit param extl --生成并编辑同名配置文件

/***

extract extl --抽取进程名

userid ddw@orcl,password ddw --连接本机DB的帐号密码

rmthost 192.168.0.44, mgrport 7801 --目标数据库服务器地址和GG服务端口号

rmttrail d:\tools\GG\gg10g\dirdat\rl--远程队列的位置(下一步建的东西)

dynamicresolution --优化参数,动态分析表结构

gettruncates --抓取truncate数据

table ddw.aatest; --需要抽取的表,可以使用通配符

***/

然后给这个提取进程创建远端队列,即图中的RMTTRAIL:

GGSCI>add rmttrail d:\tools\GG\gg10g\dirdat\rl extract extl

需要注意的是,这里最后的名称rl(可以自定义,字母或数字)是指以后生成的trail 文件都会以rl开头,如rl000001,这个文件头名称最长只能2个字符。如果需要在文件级别区分队列,建议将队列创建于于不同的目录下。

开启这个提取进程:

GGSCI> start extl

GGSCI> info all --查看所有进程状态

此时extl进程running则表示已成功运行,这时开始会在前面指定的目标端队列位置生成trail 文件。如果进程出错,可以使用view report extl 查看错误信息。

(2)目标数据库端添加复制应用进程(replicat process)

在目标端GoldenGate命令行中配置复制进程:

GGSCI>add replicat repl exttrail d:\tools\GG\gg10g\dirdat\rl,begin now,nodbcheckpoint–新增复制进程,使用对应的队列rl,即刻开始,使用文件检查点

GGSCI>edit param repl--配置复制进程参数

/***

replicat repl --复制进程名

userid ddw@orcl,password ddw --目标数据库的帐号密码assumetargetdefs--两台数据库数据结构一致则使用此参数

reperror default,discard --如果复制数据出错则忽略

discardfile D:\repsz.dsc,append,megabytes 100 --错误信息写入XXXX文件,追加模式,最大100m gettruncates --复制truncate操作

map ddw.aatest, target ddw.aatest_1; --映射关系,注意target前必须留一个空格

--map ddw.aatest, target ddw.aatest_1, keycols (name), where (TYPE1 = "1")

--加两横杠在配置文件中进行注释;keycols指定唯一键;where筛选数据***/

开启复制进程:

GGSCI>start repl

至此,一个最简单的同步配置完成,对于源数据库相应表的insert,update,delete和truncate操作都将通过日志捕获并同步到目标数据库。

4.1.3.2 使用datapump

加入datapump后的数据传输的流程:

这里的datapump与ORACLE 10g推出的数据泵不是一个概念。在GoldenGate中,datapump相当于一个次级提取进程(secondary extract)。在上面演示的同步流程中,提取进程直接将提取的redo信息经过处理后放置到了目标端服务器上,当两者之间的网络出现故障时,会因无法生成trail文件而导致提取进程崩溃,错误提示类似如下:

2010-11-12 10:01:21 GGS ERROR 150 TCP/IP error 10061 (由于目标机器积极拒绝,无法连接。); retries exceeded.

2010-11-12 10:01:21 GGS ERROR 190 PROCESS ABENDING.

而加入datapump后,主提取进程(即第一个extract)首先将trail生成在本地,然后datapump读取本地trail再发送到目标服务器,即便网络故障,主提取进程仍然能随着事务生成trail文件,而datapump则会暂时停止传输,等待网络通畅后在将堆积的本地trail文件发送至目标服务器,从而实现了断点传输的功能。在实际应用中,每一个同步流程都应该配置datapump以应对网络问题。

加入datapump的配置:

将前面extl参数文件中的

/***

rmthost 192.168.0.44, mgrport 7801

rmttrail d:\tools\GG\gg10g\dirdat\rl

***/

替换为

/***

exttrail d:\tools\GG\gg10g\dirdat\l1--本地队列文件生成位置

***/

配置datapump进程:

GGSCI>ADD EXTRACT pump1, EXTTRAILSOURCE , BEGIN

--即是对应extl配置文件中定义的d:\tools\GG\gg10g\dirdat\l1

GGSCI> edit param pump1

/***

extract pump1

userid ddw, password ddw

rmthost 192.168.0.44, mgrport 7801

rmttrail d:\tools\GG\gg10g\dirdat\r1

PASSTHRU|NOPASSTHRU--直通模式或普通模式

gettruncates

table ddw.bbtest;

***/

直通模式用在两边表名、列名一致,可以直接映射的情况,不需要额外配置;普通模式可以配置表名列名自定义映射,可以加FILTER、transformation等,需要配置一个数据定义文件(data-definitions file)。

然后修改原先为提取进程配置远端队列位置:

GGSCI>delete rmttrail d:\tools\GG\gg10g\dirdat\rl extract extl

GGSCI>add rmttrail d:\tools\GG\gg10g\dirdat\rl extract pump1

然后启动extl和pump进程就OK了。

4.1.3.3 使用数据定义文件

GoldenGate数据定义文件(data-definitions file),主要用于不同数据源之间(比如下面的Oracle与DB2之间的同步),进行数据同步时用来转换数据格式。数据定义文件主要包含表名、字段名、字段类型、字段长度和偏移量。

利用GoldenGate的defgen工具生成一个数据定义文件(data-definitions file),大致步骤如下:

(1)创建DEFGEN工具的参数文件

(2)运行DEFGEN工具生成数据定义文件

(3)配置GG进程识别定义文件

例子:

GGSCI>edit param defgen --创建DEFGEN工具的参数文件

/***

DEFSFILE --指定由DEFGEN生成的数据定义文件的全路径和名称[{SOURCEDB | TARGETDB} ,] --oracle不需要配置这个参数

[USERID [,PASSWORD ]] --DB2不需要配置PASSWORD

TABLE .

--分析指定表生成配置文件

***/

类似如下(ORACLE):

/***

DEFSFILE GG_HOME\dirdef\extdb.ref

USERID ddw,PASSWORD ddw

TABLE ddw.aatest;

***/

然后退出GGSCI,在GG安装路径下运行DEFGEN工具:

GG_HOME>defgen paramfile dirprm/defgen.prm

配置文件默认生成在GG_HOME\dirdef下,不要去手动修改。如果对应表的表结构发生更改,需要重新生成这个配置文件。

然后将生成的配置文件拷贝至目标服务器的GG_HOME\dirdef下。修改复制进程repl参数文件:

GGSCI>edit param repl

将原先的assumetargetdefs参数替换为sourcedefs GG_HOME\ dirdef\extdb.ref

GGSCI>stop repl

GGSCI>start repl

数据定义文件的配置完成。

4.1.3.4配置进程检查点(checkpoint)

检查点记录了进程读写的位置信息用以数据恢复,目的是为了防止进程因系统、网络崩溃而导致的数据丢失,对于GoldenGate保证数据同步过程中数据不丢失非常重要。GoldenGate的检查点由一个内部进程自动控制,与数据库检查点的概念类似。提取进程的检查点记录它在数据源中的读取位置和队列的写出位置,复制进程的检查点记录它读取队列的位置。每条提取或复制进程都有自己对应的检查点信息。当GoldenGate的进程重启时,由它所记录的检查点决定需要读取的队列位置。

GoldenGate的检查点信息有两种存放方式:

(1)默认存放在GGHOME\dirchk下的文件中,一个进程对应一个文件。提取进程只能使用这种模式。不需要特殊配置。

(2)存放在数据库指定的表中,需要进行如下配置:

首先在./globals参数文件中加入:

/***

CHECKPOINTTABLE [.

]--指定的检查点记录表

***/

然后运行:

GGSCI>DBLOGIN [SOURCEDB ][, USERID [, PASSWORD ]]

GGSCI>ADD CHECKPOINTTABLE [.

]--生成这个检查点记录表

在新增复制进程时可以在添加时指定checkpointtable [.

]替代nodbcheckpoint,使用数据库记录检查点信息。

ORACLE官方文档中,比较推荐将复制进程的检查点信息存放到数据库表中进行管理,认为在某些情况下能促进数据恢复。并指出检查点信息量非常小,而且是进行记录更新而非记录插入,一个进程只对应一条记录,在它特殊的检查点处理机制下不会对数据库造成影响。个人猜想是当目标数据库崩溃还原后(特别是在不完全恢复的情况下),检查点信息能同数据库一起还原,在数据上能利用数据库事务性与数据库保持一致,从而在数据库正常打开后能继续进行数据同步。但实际上并不必要,因为数据库故障的情况多种多样,就算检查点同步恢复后,也不能保证直接就能启动GoldenGate进程。

4.1.3 ddl同步

GoldenGate的DDL同步只支持两边一致的数据库,限制条件较多(如不能进行字段映射、转换等),具体可以参考官方文档。DDL的抓取不是通过日志抓取来捕获的,而是通过触发器来实现,所以对源数据库的性能影响要比单纯的数据抓取要大很多,可谓屏弃了GoldenGate的优势。尽量不要使用GoldenGate的DDL复制功能,在大多数业务系统中,实际上不会有频繁的数据库结构变动,完全可以通过手工的方式进行维护。确实有大量DDL 操作的环境,如果可以,还是推荐物理DG之类的替换方案;确实要使用GoldenGate的DDL 复制,那么请详细参考官方文档的限制和说明。

--以上主要为个人意见,有不同看法的请无视

开启DDL复制的基本配置步骤为:

(1)关闭ORACLE的回收站功能。

(2)选择一个数据库schema存放支持DDL的GoldenGate对象,运行相应创建脚本。(3)编辑globals参数文件。

(4)修改extl和repl的配置文件

具体操作步骤:

(1)关闭数据库回收站:

SQL>alter system set recyclebin=off scope=both;

(2)编辑globals参数文件:

GGSCI>edit param ./globals

添加以下内容后保存:

GGSCHEMA ddw --标明支持DDL的GG对象存放在哪个schema下

(3)执行创建脚本:

首先需要命令行进入GG安装目录下,然后再运行sqlplus执行脚本,如果不进入目录下脚本执行会报错(应该是由于GG脚本中子脚本嵌套使用相对路径的问题所造成)。

SQL>@marker_setup.sql --提示输入目标schema

SQL>@ddl_setup.sql --提示输入目标schema,输入initialsetup最后输入yes

SQL>@role_setup.sql

SQL>grant GGS_GGSUSER_ROLE to ddw; --不进行该步赋权后面起进程会报错

SQL>@ddl_enable.sql --使触发器生效

(4)修改提取进程和复制进程的配置文件,分别加入ddl include all属性。

此时repl必须指定assumetargetdefs属性,这表明只有两边数据库结构一致的情况下才可以启用DDL复制。另外,开启DDL同步不能再只映射单表了,对整个模式下的对象都有

效。

加入DDL复制之后,数据复制的lag明显增加了。

清除数据库中DDL复制的设置

在实际测试中,由于我在同一个数据库中进行映射,映射表结构不一致,导致进程报了一系列的错误。这个时候需要把通过脚本创建的GG对象中的数据清空,安装目录下只提供了清除对象的脚本,可以如下操作:

首先要求把所有的GG进程停掉,包括mgr进程

SQL>@ddl_disable.sql --首先使DDL触发器失效

SQL>@ddl_remove.sql

SQL>@marker_remove.sql

role_setup.sql没有对应的清除脚本,但是这块不影响配置信息的清除

然后重新再创建脚本。

4.2 oracle与db2同步

设置DB2数据库参数:

db2 connect to user using --DB2命令行工具登陆DB2

db2 get db cfg for --查看数据库参数配置

db2 update db cfg for using LOGRETAIN ON --设置LOGRETAIN参数

db2 update db cfg for using USEREXIT ON --设置USEREXIT参数

设置完后的参数配置相关显示如下:

Log retain for recovery status = RECOVERY

User exit for logging status = YES

重启数据库并进行全库备份:

db2 stop force

db2 start

db2 backup db

指定归档路径:(OVERFLOWLOGPATH参数)

db2 connect to user using

db2 update db cfg using overflowlogpath ""

GoldenGate中执行add trandata补全日志:

GGSCI>dblogin sourcedb sample userid db2admin,passworddb2admin

-- 除oracle外的数据库都需要指定sourcedb参数,指定数据库名称GGSCI>add trandata db2admin.

其他的同步配置与Oracle中一样,需要注意的是进程配置文件中登陆DB2的部分都需要指定sourcedb这个参数(ORACLE不需要,指定了反而报错)。还有就是复制进程的配置文件中一般不能指定assumetargetdefs参数,因为不是结构一致的数据库,需要通过defgen 工具生成数据定义文件进行映射。

4.3 oracle与sybase同步

Sybase数据库设置

使用sybase的SQL Advantage,用sa用户登录,执行dbcc settrunc( 'ltm', valid )修改参数。

GoldenGate中连接Sybase

GGSCI> dblogin sourcedb zhoubase userid sa password sasasa

同样做如下设置

GGSCI>add trandata .

其他配置和Oracle中一样。

需要注意的是,Sybase是个区分大小写的数据库(sql server同样)。而Oracle不区分大小写,这就导致了表和字段在复制进程映射的时候,容易因大小写问题导致映射失败。解决方法是在表名外加上双引号或者单引号,参照如下复制进程的配置文件内容:

/***

replicat repsy

sourcedefs d:\tools\GG\gg10g\dirdef\extsy.ref

USERID ddw, PASSWORD ddw

reperror default, discard

discardfile D:\repsy.dsc,append,megabytes 100

MAP “dbo.BBTEST”, TARGET “DDW.AASYBASE”;--引号区分大小写

***/

5、GoldenGate同步方案

GoldenGate工具虽小,但它提供表级字段级同步映射,而且同步性能优异、资源消耗低,使它的灵活性很强,可以提供多种数据同步、冗灾的解决方案。

5.1 使用GoldenGate初始化加载

这里所指的GoldenGate初始化加载,只是它指提供的direct load方式,因为其他几种官方介绍的初始化方式要么需要借助其他数据库工具(如extract->SQL*Loader),要么中间走了完全没必要的步骤导致性能很差(如extract->file->replicat方式),都不算纯正的GoldenGate方式。

初始化加载架构:

上图中,显示了初始化加载启用了两条同步路线:上面一条是真正的initial load,负责将源数据端的数据一次性发送到目标数据库;下面一条,其实就是普通的GoldenGate同步进程,负责抓取初始化加载时源端数据库进行的在线数据变化。因为在实际应用中,往往需要在生产库(源数据库)不停机的状态下,将数据加载到备用数据库(目标数据库)中并应用实时同步,在数据初始化的过程中,生产库将继续进行正常的事务操作,所以此时需要有抓取进程在初始化时开始将这些变化捕获,以免数据丢失。

实际部署时需要注意正确的执行顺序,大致可以分为以下几步:

(1)源端和目标端创建配置各个同步进程。

(2)开启源端同步抓取进程(图上的Change Extract),开始捕获变化。

(3)开启初始化进程(图上的Initial-Load Extract),开始数据初始化加载。

(4)等初始化加载结束,开启目标端复制应用进程(图上的Change Replicat),开始实时同步应用。

在目标端复制应用进程(图上的Change Replicat)中,需要在参数文件中配置HANDLECOLLISIONS参数,以避免重复应用第2和第3步之间的数据变化,因为这部分数据已经包含在初始化加载中传到目标数据库中了。

在这里需要特别提醒的一个概念上的问题,GoldenGate的初始化同步不会也不需要去初始化目标端的SCN号。这个问题在我与多位数据库DBA的交流中发现,他们往往以为GoldenGate是通过SCN来判断数据的应用情况的。GoldenGate的同步与Streams不同,它不需要依赖两端数据库保持一致的SCN来应用同步,实际上它只在抓取时可能会与数据库

的SCN有关联(抓取时可以指定源数据库的特定SCN号开始解析日志),在trail传输以及目标端应用时,都和源端数据库的SCN毫无关系。它的实质是通过自己的一套队列文件检查点机制来实现队列数据的管理,在目标端则通过数据的唯一键来定位数据行,trail文件最终解析成SQL语句在目标端数据库执行而实现数据的应用。所以这里的初始化加载,完全可以使用其他数据库工具来实现,比如说exp/imp、SQL*Loader、RMAN复制数据库等。

以下为一个简单的初始化加载的例子,对于实时同步配置同上面介绍的是一样的,这里不再说明,只列出初始化加载部分的进程配置。

5.1.1 GoldenGate初始化加载示例(direct load方式)

源端

添加提取进程:

GGSCI> add extract ext1,sourceistable --没有tranlog,意味着不是通过日志方式;没有begin XXX,表示

还未启动;使用sourceistable参数不会使用检查点机制

配置文件如下:

/***

extract ext1

userid ddw,password ddw

rmthost 192.168.0.44, mgrport 7401

rmttask replicat, group rept1 --注意是rmttask,指定目标复制进程名

table ddw.test;

***/

不需要为该进程添加远端队列(rmttrail)。

目标端

添加复制应用进程:

add replicat rept1,specialrun --表示一次性加载

/***

replicat rept1

assumetargetdefs

userid ddw,password ddw

reperror default, discard

discardfile D:\reptmy.dsc,append,megabytes 100

INSERTAPPEND--使用直接路径加载,提高加载速度

HANDLECOLLISIONS--当目标端已有数据时,略过重复数据错误

MAP ddw.test, TARGET ddw.test1;

***/

注意,这里的extract和replicat进程添加完后在info all中看不到这个进程,但是view report 可以跟踪到。

GoldenGate实施参考

安装信息收集 ?收集客户信息(建议至少提前两周) –测试/生产环境 –操作系统列表 –数据库列表 –数据库日志增量评估 ?每天日志增量、峰值日志增量 –网络配置:带宽、端口等 ?带宽评估(如带宽不足,是否需要启动压缩,压缩对CPU占用测试)–数据结构 ?包括表数量、是否存在无主键表、是否有不支持数据类型等 –验证OGG版本可用性! ?针对不同的操作系统和数据库版本下载需要的OGG版本并安装测试

带宽估算 ?根据峰值产生日志量估算带宽占用 ?假设条件 –假设OGG队列与日志比例为1:4。如只复制部分表则此比例可以假设为更低。 –假设网络传输效率为0.7 –假设网络传输压缩比例为1:8。根据数据内容有所变化,一般字符数据较多时压缩比例较大,二进制对象压缩效率较低?带宽估算算法 –以客户业务高峰期每小时产生40G为例,可以估算如下 带宽=40G/3600(秒/小时)/4(日志过滤比例)/8(压缩比率)* 8(每字节8位)/0.7(网络传输效率)=4Mbps

无主键表的复制 ?GoldenGate可以正常复制无主键表,以所有列作为基准代替主键 强烈建议排除掉无主键表或者增加主键(或唯一索引)?强烈建议排除掉无主键表或者增加主键 –一般为临时表或者历史表 –导致附加日志增量较大,可能影响生产系统性能 –目标端replicat投递效率非常低且无法进行优化 –容易出现数据不一致且不易修复 –无法使用HANDLECOLLISIONS ?该参数依赖于表的主键进行逻辑判断,无主键表使用该参数会导 致重复记录出现

Oracle_11G搭建单实例GoldenGate步骤

Oracle 11G 搭建单实例GoldenGate步骤 1 GoldenGate安装准备 在Oracle官网上下载GoldenGate介质,GoldenGate是包含在Fusion Middleware 类目下面,并上传到源数据库和目标数据库主机; 2 GoldenGate安装过程 注意:此步骤需要在两台主机上操作 2.1 创建GoldenGate操作系统用户 这里直接使用Oracle用户安装GoldenGate,而不创建新的用户。 2.2 创建GoldenGate安装路径 [root@GMDBA ~]# mkdir -p /u01/ggs/11.2.0 [root@GMDBA ~]# mv /u01/software/ogg112101_fbo_ggs_Linux_x86_ora11g_32bit.zip /u01/ggs/11.2.0/ [root@GMDBA ~]# chown -R oracle:oinstall /u01/ggs/ [root@GMDBA ~]# su - oracle 2.3 编辑用户环境变量 [oracle@GMDBA ogg]$ vi ~/.bash_profile # .bash_profile # Get the aliases and functions if [ -f ~/.bashrc ]; then . ~/.bashrc Fi # User specific environment and startup programs PATH=$PATH:$HOME/bin

export PATH export ORACLE_SID=GMDBA export ORACLE_BASE=/u01/app/oracle export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1 export PATH=$ORACLE_HOME/bin:/u01/ggs/11.2.0:$PATH export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/u01/ggs/11.2.0:/lib alias sqlplus='rlwrap sqlplus' alias rman='rlwrap rman' 2.4 安装GoldenGate文件 [oracle@GMDBA ~]$ cd /u01/ggs/11.2.0/ [oracle@GMDBA 11.2.0]$ unzip ogg112101_fbo_ggs_Linux_x86_ora11g_32bit.zip Archive: ogg112101_fbo_ggs_Linux_x86_ora11g_32bit.zip inflating: fbo_ggs_Linux_x86_ora11g_32bit.tar inflating: OGG_WinUnix_Rel_Notes_11.2.1.0.1.pdf inflating: Oracle GoldenGate 11.2.1.0.1 README.txt inflating: Oracle GoldenGate 11.2.1.0.1 README.doc [oracle@GMDBA 11.2.0]$ tar -xvf fbo_ggs_Linux_x86_ora11g_32bit.tar [oracle@GMDBA 11.2.0]$ cd [oracle@GMDBA ~]$ cd /u01/ggs/11.2.0 [oracle@GMDBA 11.2.0]$ ggsci Oracle GoldenGate Command Interpreter for Oracle Version 11.2.1.0.1 OGGCORE_11.2.1.0.1_PLATFORMS_120423.0230_FBO Linux, x86, 32bit (optimized), Oracle 11g on Apr 23 2012 08:09:25 Copyright (C) 1995, 2012, Oracle and/or its affiliates. All rights reserved.

AIX 系统下GOLDENGATE 安装配置文档

AIX 系统下GOLDENGATE 安装配置文档 - 省直项目数据同步政府事业部(东北大区辽宁研发中心)周健 摘要 Oracle GoldenGate软件是一种基于log(日志)的结构化数据复制软件,它通过解析源数据库在线log或归档log获得数据的增、删、改变化,再将这些变化应用到目标数据库,实现源数据库与目标数据库同步、双活。Oracle GoldenGate 软件可以在异构的IT基础结构(包括几乎所有常用操作系统平台和数据库平台)之间实现大量数据亚秒级的实时复制,其复制过程简图如下: 背景 省直养老保险项目需要开办网上申报系统实现单位网上办事,提高业务经办效率,提升社保中心的整体服务水平。 数据同步接口设计

社保网上服务系统由两个数据库组成:社保系统生产库,网上申报中间库。 1、社保系统生产库: 此库是社保系统生产数据库,存放着所有社保系统核心业务数据。 2、网上申报系统中间库: 此库是网上申报业务实用的核心数据库,它存放着单位结算的查询信息、业务 办理的审批信息、以及企业的申报信息。 社保网上查询使用的数据从中间库取得,通过数据增量同步完成社保生产库和 中间库之间的数据交换。数据同步的周期根据系统的时间运转状况决定,设计中 暂定一天进行一次核对,时间定在晚间20:00点开始,涉及的同步数据用户包括 社保生产库的养老用户(lnsi_yl)和医疗用户(lnsi_yb)。 数据同步目的 网上申报系统需要提供接口能够让参保人员通过英特网进行查询参保和缴费信息以及能够申报自己的缴费基数等信息,这样就必然使外部人员可以访问数据库,从而产生数据库被攻击和篡改的风险。我们通过数据同步就可以实现外网数据和内网数据分离,让外部人员只能访问中间库,不会影响到生产库的安全。

GoldenGate监控工具GoldenGate Monito11.1安装配置

GoldenGate Web界面监控工具GoldenGate Monitor的安装、配置及监控 2011年12月

目录 1GoldenGate Monitor介绍 (3) 2环境需求 (4) 2.1Hardware (4) 2.2Software (5) 3安装Monitor Server (5) 3.1安装环境 (5) 3.2创建组和用户 (6) 3.3创建Repository用户 (6) 3.4安装Monitor Server (6) 4配置GoldenGate (14) 4.1配置需求 (14) 4.2配置环境 (14) 4.3需求描述 (15) 4.4检查Monitor Agent安装组件 (15) 4.5源端配置GoldenGate (16) 4.5.1环境变量 (16) 4.5.2Enabling Monitoring (16) 4.5.3配置cfg\Config.properties (16) 4.5.4创建Oracle Wallet (17) 4.5.5启动GoldenGate Manager (17) 4.5.6配置Extract进程及pump进程 (17) 4.6目标端配置GoldenGate (18) 4.6.1环境变量 (18) 4.6.2Enabling Monitoring (18) 4.6.3配置cfg/Config.properties (18) 4.6.4创建Oracle Wallet (19) 4.6.5启动GoldenGate Manager (19) 4.6.6配置Replicat进程 (19) 4.7测试验证 (20) 5GoldenGate Monitor Web (22) 5.1查看当前Lag、Status信息及Message (22) 5.2问题区域 (24) 5.3查询历史事件 (25) 5.4告警条件定义 (27) 6参考 (27)

OGG(oracle+GoldenGate)学习笔记

Oracle GoldenGate测试文档 1.Oracle GoldenGate介绍 (1) 2.Oracle GoldenGate For Oracle(windows 平台) 安装 (5) 3.数据库复制实施文档(DML) (7) 3.1准备工作 (7) 3.2配置GoldenGate (8) 3.2.1配置SourceDB的GoldenGate (8) 3.2.2 配置TargetDB的GoldenGate (9) 3.3 测试DML操作 (11) 4.GoldenGate Support DDL安装 (15) 5.玩玩GoldenGate (23) 1.Oracle GoldenGate介绍 GoldenGate TDM(交易数据管理)软件是一种基于日志的结构化数据复制软件,它通过解析源数据库在线日志或归档日志获得数据的增删改变化,再将这些变化应用到目标数据库,实现源数据库与目标数据库同步、双活。GoldenGate TDM 软件可以在异构的IT基础结构(包括几乎所有常用操作系统平台和数据库平台)之间实现大量数据亚秒一级的实时复制,其复制过程简图如下: 如上图所示,GoldenGate TDM的数据复制过程如下: 利用捕捉进程(Capture Process)在源系统端读取Online Redo Log或Archive Log,然后进行解析,只提取其中数据的变化如增、删、改操作,并将相关信息转换为GoldenGate TDM自定

义的中间格式存放在队列文件中。再利用传送进程将队列文件通过TCP/IP传送到目标系统。捕捉进程在每次读完log中的数据变化并在数据传送到目标系统后,会写检查点,记录当前完成捕捉的log位置,检查点的存在可以使捕捉进程在中止并恢复后可从检查点位置继续复制; 目标系统接受数据变化并缓存到GoldenGate TDM队列当中,队列为一系列临时存储数据变化的文件,等待投递进程读取数据; GoldenGate TDM投递进程从队列中读取数据变化并创建对应的SQL语句,通过数据库的本地接口执行,提交到数据库成功后更新自己的检查点,记录已经完成复制的位置,数据的复制过程最终完成。 由此可见,GoldenGate TDM是一种基于软件的数据复制方式,它从数据库的日志解析数据的变化(数据量只有日志的四分之一左右)。GoldenGate TDM将数据变化转化为自己的格式,直接通过TCP/IP网络传输,无需依赖于数据库自身的传递方式,而且可以通过高达9:1的压缩率对数据进行压缩,可以大大降低带宽需求。在目标端,GoldenGate TDM可以通过交易重组,分批加载等技术手段大大加快数据投递的速度和效率,降低目标系统的资源占用,可以在亚秒级实现大量数据的复制,并且目标端数据库是活动的 GoldenGate TDM提供了灵活的应用方案,基于其先进、灵活的技术架构可以根据用户需求组成各种拓扑结构,如图所示:

GOLDENGATE MONITOR11.2.1安装手册

1、环境说明 2、文件系统设计2.1 文件系统规划 2.2 文件系统创建 --创建/monitor文件系统: # lvcreate -L 100G -n lvmonitor rootvg

# mkfs -t ext3 /dev/rootvg/lvmonitor # mkdir /monitor # mount /dev/rootvg/lvmonitor /monitor --创建/oradata文件系统: # lvcreate -L 100G -n lvoradata rootvg # mkfs -t ext3 /dev/rootvg/lvoradata # mkdir /oradata # mount /dev/rootvg/lvoradata /oradata --创建/u01文件系统: # lvcreate -L 50G -n lvu01 rootvg # mkfs -t ext3 /dev/rootvg/lvu01 # mkdir /u01 # mount /dev/rootvg/lvu01 /u01 2.3 修改/etc/fstab vi /etc/fstab 添加如下内容: /dev/rootvg/lvu01 /u01 ext3 defaults 1 2 /dev/rootvg/lvoradata /oradata ext3 defaults 1 2 /dev/rootvg/lvmonitor /monitor ext3 defaults 1 2 3、资料库安装 3.1 操作系统配置 3.1.1 检查操作系统包 rpm -q --qf '%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n' binutils \ compat-libstdc++-33 \ elfutils-libelf \ elfutils-libelf-devel \ gcc \ gcc-c++ \ glibc \

GoldenGate运维手册

GOLDENGATE运维手册 2014年4月 文档修改记录

目录 1OGG常用监控命令------------------------------------------------------------- 5

1.2启动GoldenGate进程 ----------------------------------------------------------------------- 5 1.3停止GoldenGate进程 ----------------------------------------------------------------------- 6 1.4查看整体运行情况---------------------------------------------------------------------------- 8 1.5查看参数设置 ---------------------------------------------------------------------------------- 9 1.6查看进程状态 ---------------------------------------------------------------------------------- 9 1.7查看延时--------------------------------------------------------------------------------------- 10 1.8查看统计信息 -------------------------------------------------------------------------------- 11 1.9查看运行报告 -------------------------------------------------------------------------------- 11 2OGG的常见运维任务指南------------------------------------------------------ 13 2.1配置自动删除队列-------------------------------------------------------------------------- 13 2.2配置启动MGR时自动启动Extract和Replicat进程----------------------------- 13 2.3配置MGR自动重新启动Extract和Replicat进程-------------------------------- 14 2.4长事务管理------------------------------------------------------------------------------------ 14 2.5表的重新再同步(需时间窗口) ------------------------------------------------------ 17 2.6表的重新再同步(无需时间窗口)--------------------------------------------------- 17 3数据结构变更和应用升级------------------------------------------------------ 19 3.1(仅复制DML时)源端和目标端数据库增减复制表 -------------------------- 19 3.2(仅复制DML时)修改表结构 -------------------------------------------------------- 21 3.3(仅复制DML时)客户应用的升级 ------------------------------------------------- 21 3.4配置DDL复制自动同步数据结构变更----------------------------------------------- 23 (一)是否打开DDL复制 ------------------------------------------------------------------------------------- 23 (二)打开DDL复制的步骤 ---------------------------------------------------------------------------------- 23 (三)DDL复制的典型配置----------------------------------------------------------------------------------- 25 4异常处理预案---------------------------------------------------------------- 26 4.1网络故障--------------------------------------------------------------------------------------- 26 4.2RAC环境下单节点失败 ------------------------------------------------------------------- 27 4.3Extract进程常见异常 ---------------------------------------------------------------------- 27 4.4Replicat进程常见异常--------------------------------------------------------------------- 28 4.5异常处理一般步骤-------------------------------------------------------------------------- 28 5附录------------------------------------------------------------------------ 30 5.1Oracle GoldenGate V11.1数据复制限制 --------------------------------------------- 30 (四)不支持文件等非结构化数据复制------------------------------------------------------------------ 30 (五)Oracle数据类型限制 ----------------------------------------------------------------------------------- 30

GoldenGate_Director配置手册

Oracle GoldenGate Director配置手册 一.GoldenGate Director介绍 GoldenGate Director可以简化GoldenGate的监控和管理,可以通过图形界面或者web浏览器方便快捷的维护整个环境中的GoldenGate组件。 二.GoldenGate Director的组件 2.1 结构图如下 2.2 GoldenGate instances 每个实例就是一个ggsci的mgr进程,我们只要指定相应的IP(dns)和端口就可以连接到该实例,对于大规模的应用,最好采用dns解析的方式。 2.3 GoldenGate Director Server 管理所有连接的实例,这个server是基于weblogic的。主要包含一些应用程序和Monitor Agent

用于存储GoldenGate Director的信息,包括用户,组,拓扑图,event等等的信息 2.5 GoldenGate Director Client 通过图形界面管理实例 2.6 GoldenGate Director Web 这应该是大家最喜欢的工具了,可以通过web界面监控当前环境下的golden gate进程2.7 GoldenGate Director Administrator 用于配置Director Server 三.GoldenGate Director的安装 3.1 安装weblogic GoldenGate Director是运行在weblogic上的一个服务,所以必须先安装weblogic 安装比较简单,过程省略 3.2 准备数据库 数据库是用于GoldenGate Director database,目前只支持以下三种 ?MySQL 5.x Enterprise version. ?SQL Server 2000 and 2005 ?Oracle 9i or later. 我一般都选用mysql,因为量级轻,速度快,便于管理。特别提示要提前准备一个用户,该用户的密码必须是8位 安装过程省略 3.3 安装GoldenGate Director 执行gg-director-serversetup_unix_*.sh开始安装server 执行gg-director-client_unix_*.sh开始安装client端 安装过程都很简单,只要按照提示输入相应的值就好了。 四.管理配置

GoldenGate_Oracle数据仓库解决方案——集中复制配置

Oracle GoldenGate 数据仓库解决方案 集中复制适宜的环境 集中复制的优缺点 多对一数据同步(集中复制) 多对一数据同步架构: 多对一数据同步实现方式同一对多,也是将extract-replicat将进程拆分成多个。 多对一同步需要注意的是,所有源端和目标端的表都应该使用一致的主键约束,而且在不同的源端不应该对同一键值的数据进行维护。也就是说,需要在业务上将不同源的数据隔

离开来,以防止对同一数据的覆盖更改等问题。一般用于维护业务的区域性数据、然后统一同步到业务中心数据源的业务场景。 还有一个需要注意的方面是TRUCATE的捕获,在多对一的配置下应避免捕获。因为GoldenGate处理TRUNCATE同步是直接传输了这个语句,并不会提供具体删除的数据信息(没有REDO也无法提供),所以无论哪个源端执行了TRUNCATE,如果同步到了目标端,都会直接把目标端的表数据直接删光,无论目标数据是否是来源于这个源,造成数据的不一致。 oracle goldengate 容灾、双业务详细配置 SourceDB: 192.168.1.150:7809 192.168.1.151:7809 TargetDB: 192.168.4.252:7809 软件准备: 1.Oracle10. 2.0.1 2.ggs_Windows_x86_ora10g_32bit 3.wls1033_win32 4.gg-director-serversetup_win_v11_1_1_1_0_001 5.gg-director-clientsetup_win_v11_1_1_1_0_001 ============================== Weblogic Server 11g 用户 weblogic/12345678 Oracle DataaBase 添加用户 Oracle GoldenGate Director Server11.1.1.1.0_001 专用 database user: ggserver/ggserver11 配置 alter database add supplemental log data; alter database add supplemental log data (primary key,unique,foreign key) columns; GoldenGate用户 专用 gatedba/gatedba 测试同步用户 gate01/gate01 ===================== 步骤:

Oracle Goldengate Monitor12c安装配置指南12.1.3

Oracle Goldengate Monitor 12c安装配置指南 1、架构 2、12c版monitor安装流程 Monitor server的安装: 检查前提要求->OUI安装monitor server->RCU(Repository Configuration Utility)创建数据结构->使用向导为oracle数据库创建weblogic domain(如果非oracle数据库如:mysql 或sqlserver,参考手册中的1.5和4.2)-> 手工配置完成domain的创建-> 启动monitor server -> welogic中用户的配置。 Monitor agent的安装: 安装monitor agent -> 创建和配置agent实例

3、Monitor Server的安装 3.1 前提要求 Monitor server: 需要安装JDK1.7(参考director安装) Orace11g或12c(mysql5.5、sqlserver2008,2012),字符集AL32UTF8 Weblogic12c(12.1.3),但是需要下载的包是:Oracle Fusion Middleware 12c (12.1.3.0.0) Infrastructure,单weblogic无效。 /etc/hosts文件: Monitor server和被监控的主机之间配置上hosts文件解析,都含有monitor server和agent 的条目 建议monitor server单独放一台机器,和agent所在不混用。 3.2 安装Oracle Fusion Middleware 12c (12.1.3.0.0) Infrastructure

Oracle GoldenGate 安装、配置、管理

Oracle GoldenGate 安装、配置、管理 Oracle GoldenGate主要由如下一些组件组成 ● Extract ● Data pump ● Replicat ● Trails or extract files ● Checkpoints ● Manager ● Collector 1、Data Pump是一个次级的Extract Group,如果你的GG环境中不使用Data Pump的话,那么Primary Extract Group必须直接将trail通过网络写到Target系统上.参见后面的示例6:配置Data Pump实现一对多拓扑方案.

2、默认情况下,Replicat是实时复制的,如果因为某种需要需要延迟复制的话,那么可以通过Replicat Group的如下DEFERAPPLYINTERVAL参数来控制,该参数允许delay的最大时间是7天。 按照Oracle GoldenGate的工作原理和体系结构,在每个复制数据源和目标端都需要安装一套GoldenGate软件,同时需要分别启动一个 GoldenGate实例,一个GoldenGate实例就是一个管理进程(Manager process),这个管理进程也是整个GoldenGate实例运行时最主要的控制进程。 GoldenGate操作系统内存的使用是通过操作系统来控制的,而不是通过GoldenGate程序控制的,GoldenGate进程会根据需要从OS那里分配相应的virtual memory. l GoldenGate GGSCI命令接口工具对于每个GoldenGate实例可以支持并发300个Extract和Replicat进程。 l 每个Extract和Replicat进程需要大约25-55 MB内存,这主要取决于transaction的大小和并发的transaction数量。 所以,根据上面2个条件,GoldenGate对操作系统内存的需求主要取决于Extract和Replicat进程数。 工作目录 每个GoldenGate实例的工作目录(working directories and binaries),大约需要40M的空间,如果你要同一台Server安装多个GoldenGate实例到不同的目录/文件系统下话,那么就需要多倍的空间分配,在考虑空间分配的时候,也需要考虑这个因数。 辅助空间 这部分空间主要用于存放GoldenGate Trails,它包含了工作数据。这部分空间的消耗取决于Trail,依赖于将要处理的数据量。 根据实际的数据库系统的规模,每天产生的日志量的大小,建议这部分空间从1GB-100G不等,可以保存7-10天的GoldenGate队列文件即可。 对于RAC环境 对于RAC环境,GoldenGate的相关软件和工作目录需要配置在shared disk环境中,从而保证对所有node都是可用的,从任何一个node都可以启动GoldenGate的进程,当其中一个node出现异常时,可以在剩余的node启动而无须修改任何配置参数.否则如果运行在单个node上的话,需要将剩余node中的归档日志通过一定的技术共享出来并加载到

GoldenGate基本原理、安装过程和基本维护

目录 一、GoldenGate介绍 (3) 二、GoldenGate安装实施 (5) 2.1创建GoldenGate软件安装目录 (5) 2.2 GoldenGate的管理用户 (5) 2.3安装GoldenGate软件 (6) 2.4设臵数据库归档模式 (6) 2.5打开数据库的附加日志 (7) 2.6开启数据库强制日志模式 (7) 2.7创建GoldenGate管理用户 (7) 2.8编辑GLOBALS参数文件 (8) 2.9管理进程MGR参数配臵 (8) 2.10抽取进程EXTN参数配臵 (9) 2.11 传输进程DPEN参数配臵 (10) 2.12建立OGG的DDL对象 (11) 2.13 数据初始化 (12) 2.14 容灾端管理进程MGR参数配臵 (14) 2.15编辑GLOBALS参数文件 (15) 2.16 容灾端复制进程REPN参数配臵 (15) 2.17创建复制进程repn (17) 2.18启动生产端传输进程和容灾端复制进程 (17) 2.19测试场景 (17)

三.GoldenGate基本运维命令 (17) 四、常见故障排除 (18)

一、GoldenGate介绍 GoldenGate软件是一种基于日志的结构化数据复制软件。GoldenGate 能够实现大量交易数据的实时捕捉、变换和投递,实现源数据库与目标数据库的数据同步,保持亚秒级的数据延迟。 GoldenGate能够支持多种拓扑结构,包括一对一,一对多,多对一,层叠和双向复制等等。 GoldenGate基本架构

Oracle GoldenGate主要由如下组件组成 ●Extract ●Data pump ●Trails ●Collector ●Replicat ●Manager Oracle GoldenGate 数据复制过程如下: 利用抽取进程(Extract Process)在源端数据库中读取Online Redo Log或者Archive Log,然后进行解析,只提取其中数据的变化信息,比如DML操作——增、删、改操作,将抽取的信息转换为GoldenGate自定义的中间格式存放在队列文件(trail file)中。再利用传输进程将队列文件(trail file)通过TCP/IP传送到目标系统。 目标端有一个进程叫Server Collector,这个进程接受了从源端传输过来的数据变化信息,把信息缓存到GoldenGate 队列文件

GoldenGate Director 安装及配置文档

GoldenGate Director 安装及配置文档 目录 1.1概述 (2) 1.2G OLDEN G ATE D IRECTOR概述 (2) 1.3G OLDEN G ATE D IRECTOR的安装 (3) 1.3.1部署方案必需条件 (3) 1.3.1.1Director服务器安装前提 (3) 1.3.1.2Director客户端安装前提 (3) 1.3.2安装GoldenGate Director Server (4) 1.3.3安装GoldenGate Director Client (7) 1.3.4启动GoldenGate Director Server/Client (7) 1.4G OLDEN G ATE D IRECTOR的配置使用 (8) 1.4.1Director Admin (8) 1.4.2基于Web的Director客户端 (11) 1.4.2.1监控整体运行情况 (12) 1.4.2.2监控进程状态 (13) 1.4.2.3查看事件日志 (13) 1.4.2.4Email告警 (14) 1.4.2.5运行GGSCI命令 (15) 1.4.3基于C/S的Director客户端 (16) 1.4.3.1查看事件日志 (16) 1.4.3.2Email告警 (16) 1.4.3.3运行GGSCI命令 (17) 1.5参考文献 (18)

GoldenGate Director 安装及配置文档 1.1 概述 本章节所有文本均基于Oracle GoldenGate版本,主要描述GoldenGate Director的安装及配置使用。所有部署在生产系统的GoldenGate进程,均需要经过开发、测试小组严格认真的测试之后才可以进行部署。 介质下载地址https://https://www.doczj.com/doc/cc18559741.html,,下载最新版11G的Management Pack for Oracle GoldenGate 11.1.1.0.0 Media Pack 1.2 GoldenGate Director概述 GoldenGate Director是GoldenGate的图形化监控管理软件,可以方便、集中管理多个GoldenGate 实例。平安集团需要部署多个GoldenGate实例,每个实例部署在一个单独的服务器上,如果使用命令行方式进行监控和维护,则每次都需要登录到每个单独的服务器,极不方便。使用GoldenGate Director,只需要事先配置好连接,就可以在统一界面中监控所有的GoldenGate实例。Director提供了两种图形化监控客户端,一种是基于Web方式,另一种是基于C/S。 下图描述了GoldenGate Director各个组件及其关系: GoldenGate Director 体系架构 1)GoldenGate Instances是需要被管理的实例。Director可以方便管理多个GoldenGate实例。 2)Director Server是Director服务端,需要部署在WebLogic Server下。Director服务器

goldengate安装手册(bigdata v12.2)

×××公司Oracle Goldengate安装手册

目录 1Goldengate安装说明 (3) 1.1 总体说明 (3) 1.2 添加环境变量 (3) 1.3 GG软件的安装(源和目标系统均需要安装) (4) 1.4 开启源端数据库附加日志 (5) 1.5数据库11.2.0.4版本参数修改 (6) 1.6 配置GLOBALS (6) 1.7 配置定义文件 (6) 1.8 建立OGG进程和队列 (6) 2数据初始同步 (11) 2.1 将源端数据导入之中间库 (11) 2.2 将中间库数据导入至Hadoop (11) 2.3 目标启动replicat进程并追加增量数据 (11)

1 Goldengate安装说明 1.1 总体说明 Goldengate软件目录的属主为oracle:dba,权限为775; Goldengate目录一般是建立在共享存储上,这样实际上goldengate的软件和相应的文件如参数文件,队列文件等都是在共享存储上的。这样做的好处是,例如在RAC环境下,如果一台服务区宕机,则可以将$GG_HOME mount到另外一个正常的rac节点上,启动goldengate各个进程就可以了,不需要做任何其他的动作; 本次测试过程是部署在gpfs文件系统上。 1.2 添加环境变量 在oracle用户下增加环境变量: 源端: export GG_HOME=/data/oggo export PATH=$PATH:$GG_HOME export LIBPATH=$GG_HOME:$ORACLE_HOME/lib 目标端bigdata:要求必须jdk1.7 export GG_HOME=/data/oggt export PATH=$PATH:$GG_HOME export LD_LIBRARY_PA TH=$GG_HOME:/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.45.x86_64/jre/lib/amd 64/server Platform Environment variable IBM AIX LIBPATH HP-UX SHLIB_PA TH Sun Solaris LD_LIBRARY_PATH HP Tru64 (OSF/1)

GoldenGate在Windows平台的配置

ORACLE GoldenGate在Windows 平台中单向、双向数据传输配置 1、安装GoldenGate环境 源数据库平台:64位Windows server2008Oracle11.2.0.1.0 目标数据库平台:64位Windows server2008Oracle11.2.0.1.0 源数据库:服务器名称:SERVER1,ip:192.168.1.101 目标数据库:服务器名称:SERVER3,ip:192.168.1.102 源数据库:归档模式,ORACLE_SID:orcl用户:scott goldengate专属用户:ggs01目标数据库:归档模式,ORACLE_SID:orcl用户:scott goldengate专属用户:ggs 2、分别在源数据库,目标数据库安装GoldenGate 官方文档要求用administrator权限安装(需要系统管理员的权限) 双击GoldenGate目录下的ggsci.exe GGSCI(SERVER1)1>CREATE SUBDIRS GGSCI(SERVER1)1>EXIT 3、把源数据库的修改数据同步到目标数据库中 3.1在源数据库orcl上打开归档日志及其辅助日志 Sql>alter database add supplemental log data; SQL>alter system set recyclebin=off; Sql>alter system switch logfile; 3.2在源数据库,目标数据库创建GoldenGate GLOBALS参数文件 3.2.1在源数据库创建 GGSCI>edit params./GLOBALS 内容:MGRSERVNAME mgrserver01

Goldengate配置手册

目录 1综述-------------------------------------------------------------------------- 1.1目的 ------------------------------------------------------------------------------------------------- 1.2原则 ------------------------------------------------------------------------------------------------- 2OGG设计原则------------------------------------------------------------------ 2.1OGG的版本及下载 ----------------------------------------------------------------------------- 2.2GoldenGate运行用户-------------------------------------------------------------------------- 2.3为GoldenGate运行用户配置环境变量 -------------------------------------------------- 2.4网络设置------------------------------------------------------------------------------------------- 2.5GoldenGate安装位置-------------------------------------------------------------------------- 2.6OGG DDL复制 ------------------------------------------------------------------------------------ 2.7OGG数据复制链路结构 ---------------------------------------------------------------------- 2.8OGG进程命名规则 ----------------------------------------------------------------------------- 2.8.1总述-------------------------------------------------------------------------------------------------------------- 2.8.2主Extract进程命名规则 ---------------------------------------------------------------------------------- 2.8.3本地队列命名规则------------------------------------------------------------------------------------------ 2.8.4Data Pump Extract进程命名规则----------------------------------------------------------------------- 2.8.5本地队列命名规则------------------------------------------------------------------------------------------ 2.8.6Replicat进程命名规则 ------------------------------------------------------------------------------------- 2.9OGG进程数量设计 ----------------------------------------------------------------------------- 2.9.1主Extract进程设计----------------------------------------------------------------------------------------- 2.9.2Data Pump进程设计 --------------------------------------------------------------------------------------- 2.9.3Replicat进程设计-------------------------------------------------------------------------------------------- 3GG实施步骤------------------------------------------------------------------- 3.1准备 ------------------------------------------------------------------------------------------------- 3.2创建运行GoldenGate的用户 --------------------------------------------------------------- 3.3安装GoldenGate -------------------------------------------------------------------------------- 3.4添加变量------------------------------------------------------------------------------------------- 3.5增加附加日志 ------------------------------------------------------------------------------------ 3.6OGG源端配置------------------------------------------------------------------------------------ 3.6.1MGR进程参数模板 ----------------------------------------------------------------------------------------- 3.6.2主Extract进程参数模板 ---------------------------------------------------------------------------------- 3.6.3Data Pump传输进程参数模板 --------------------------------------------------------------------------

相关主题
文本预览
相关文档 最新文档