OGG_GoldenGate复杂参数定义(案例)

 一、摘要


1. Manger参数

2. Extract / Pump参数

3. Replicat参数

4. GLOBAL参数 

 

 二、Manger参数


1. MANAGER常用参数

(1). PORT

指定服务监听端口,这里以7839为例,默认端口为7809

(2). DYNAMICPORTLIST

动态端口,可以制定最大256个可用端口的动态列表,当指定的端口不可用时,管理进程将会从列表中选择一个可用的端口,源端和目标段的Collector、Replicat、GGSCI进程通信也会使用这些端口;

(3). COMMENT

注释行,也可以用--来代替;

(4). AUTOSTART

指定在管理进程启动时自动启动哪些进程;

(5). AUTORESTART

自动重启参数设置,本处设置表示每3分钟尝试重新启动所有EXTRACT进程,共尝试5次;

(6). PURGEOLDEXTRACTS

定期清理trail文件设置,本处设置表示对于超过3天的trail文件进行删除。

(7). LAGREPORT、LAGINFO、LAGCRITICAL

定义数据延迟的预警机制,本处设置表示MGR进程每隔1小时检查EXTRACT的延迟情况,如果超过了30分钟就把延迟作为信息记录到错误日志中,如果延迟超过了45分钟,则把它作为警告写到错误日志中。

 

2. 参数案例

复制代码
PORT 7839
DYNAMICPORTLIST 7840-7939
--AUTOSTART ER *
AUTORESTART EXTRACT *,RETRIES5,WAITMINUTES 3
PURGEOLDEXTRACTS./dirdat/*,usecheckpoints, minkeepdays 3
LAGREPORTHOURS 1
LAGINFOMINUTES 30
LAGCRITICALMINUTES 45
复制代码

 

 三、Extract / Pump参数


1. Extrarct / Pump 常用参数

(1). SETENV

配置系统环境变量

(2). USERID/ PASSWORD

指定OGG连接数据库的用户名和密码,这里使用3.4部分中创建的数据库用户OGG;

(3). COMMENT

注释行,也可以用--来代替;

(4). TABLE

定义需复制的表,后面需以;结尾

(5). TABLEEXCLUDE

定义需要排除的表,如果在TABLE参数中使用了通配符,可以使用该参数指定排除掉得表。

(6). GETUPDATEAFTERS|IGNOREUPDATEAFTERS

是否在队列中写入后影像,缺省复制

(7). GETUPDATEBEFORES| IGNOREUPDATEBEFORES

是否在队列中写入前影像,缺省不复制

(8). GETUPDATES|IGNOREUPDATES

是否复制UPDATE操作,缺省复制

(9). GETDELETES|IGNOREDELETES

是否复制DELETE操作,缺省复制

(10). GETINSERTS|IGNOREINSERTS

是否复制INSERT操作,缺省复制

(11). GETTRUNCATES|IGNORETRUNDATES

是否复制TRUNCATE操作,缺省不复制;

(12). RMTHOST

指定目标系统及其GoldengateManager进程的端口号,还用于定义是否使用压缩进行传输,本例中的compress为压缩传输;

(13). RMTTRAIL

指定写入到目标断的哪个队列;

(14). EXTTRAIL

指定写入到本地的哪个队列;

(15). SQLEXEC

在extract进程运行时首先运行一个SQL语句;

(16). PASSTHRU

禁止extract进程与数据库交互,适用于Data Pump传输进程;

(17). REPORT

定义自动定时报告;

(18). STATOPTIONS

定义每次使用stat时统计数字是否需要重置;

(19). REPORTCOUNT

报告已经处理的记录条数统计数字;

(20). TLTRACE

打开对于数据库日志的跟踪日志;

(21). DISCARDFILE

定义discardfile文件位置,如果处理中油记录出错会写入到此文件中;

(22). DBOPTIONS

指定对于某种特定数据库所需要的特殊参数;

(23). TRANLOGOPTIONS

指定在解析数据库日志时所需要的特殊参数,例如:对于裸设备,可能需要加入以下参数rawdeviceoggset 0

(24). WARNLONGTRANS

指定对于超过一定时间的长交易可以在gsserr.log里面写入警告信息,本处配置为每隔3分钟检查一次场交易,对于超过2小时的进行警告;

 

2. Extract参数案例 

复制代码
EXTRACTextnd
setenv(NLS_LANG = "AMERICAN_AMERICA.UTF8")
SETENV(ORACLE_HOME = "/u01/oracle/oracle/product/10.2.0/db_1")
SETENV(ORACLE_SID = "ndtest")
USERID ogg, PASSWORD oracle
--GETTRUNCATES
REPORTCOUNTEVERY 1 MINUTES, RATE
DISCARDFILE./dirrpt/extnd.dsc,APPEND,MEGABYTES 1024
--THREADOPTIONS  MAXCOMMITPROPAGATIONDELAY 60000 IOLATENS60000
DBOPTIONS  ALLOWUNUSEDCOLUMN
WARNLONGTRANS2h,CHECKINTERVAL 3m
EXTTRAIL./dirdat/nd
--TRANLOGOPTIONSEXCLUDEUSER USERNAME
FETCHOPTIONSNOUSESNAPSHOT
TRANLOGOPTIONS  CONVERTUCS2CLOBS
TABLEolive.ol$_objects
复制代码

 

3. Pump参数案例 

复制代码
EXTRACTdpend
SETENV(NLS_LANG = "AMERICAN_AMERICA.UTF8")
USERID ogg, PASSWORD oracle
PASSTHRU
RMTHOST10.122.0.113, MGRPORT 7839, compress
RMTTRAILF:\ogg\dirdat\nd
TABLEolive.ol$_objects;
复制代码

 

 五、Replicat参数


1. 参数常用

(1). ASSUMETARGETDEFS

假定两端数据结构一致使用此参数;

(2). SOURCEDEFS

假定两端数据结构不一致,使用此参数指定源端的数据结构定义文件,该文件需要由GlodenGate工具产生。

(3). MAP

用于指定源端与目标端表的映射关系;

(4). MAPEXCLUDE

用于使用在MAP中使用*匹配时排除掉指定的表;

(5). REPERROR

定义出错以后进程的响应,一般可以定义为两种:

(6). ABEND

即一旦出现错误即停止复制,此为缺省配置;

(7). DISCARD

出现错误后继续复制,只是把错误的数据放到discard文件中。

(8). DISCARDFILE

定义discardfile文件位置,如果处理中油记录出错会写入到此文件中;

(9). SQLEXEC

在进程运行时首先运行一个SQL语句;

(10). GROUPTRANSOPS

将小交易合并成一个大的交易进行提交,减少提交次数,降低系统IO消耗;

(11). MAXTRANSOPS

将大交易拆分,每XX条记录提交一次;

 

2. 参数案例 

 

 

 六、GLOBAL参数


1. 参数常用

2. 参数案例

 

 七、总结


1. 常用命令

(1). edit params命令

(2). DBLOGIN USERID <user>, PASSWORD <password>

(3). ADD TRANDATA命令

(4). ADD EXTRACT 命令

(5). ADD EXTTRAIL命令

(6). EXTFILESOURCE <file name>意思

(7). ADD RMTTRAIL命令

(8). ADD REPLICAT命令

(9). PURGEOLDEXTRACTS

(10). AUTOSTART参数

(11). DYNAMICRESOLUTION

(12). SOURCEDB

(13). PASSTHRU

(14). ASSUMETARGETDEFS

(15). REPERROR

(16). 使用通配符

 

1.OGG是数据同步软件,或者说是逻辑复制软件,其竞争对手有IBM CDC,DELL shareplex,DSG,DDS等等。

2.OGG软件是需要安装在操作系统上的,Oracle DB软件没有自带OGG软件(至少目前是这样的)

3.OGG软件有三大进程(说四大进程也行):

三大进程:源头抽取进程、源头传输进程、目的端应用进程(即:复制进程)

四大进程:源头抽取进程、源头传输进程、目的端server进程(负责在目的端写入trail文件)、目的端应用进程(即:复制进程)

4.OGG软件有两种trail file

源头的trail file:由源头抽取进程写入。

目的端的trail file: 源头传输进程传输到目的端,由目的端的server 进程写入目的端操作系统的指定路径下。

5.OGG软件中三大进程都有自己的checkpoint(即:检查点,用来记录每种进程读取到什么位置了,写入到什么位置了)

源头抽取进程Extract:有读取检查点 和写入检查点

源头传输进程Dump:有读取检查点 和写入检查点

目的端应用进程Replicat:有读取检查点

6.OGG软件三大进程处理trail file的过程:

源头抽取进程Extract:读取oracle redo log(假设源头数据库是oracle),结合抽取进程的参数文件,将redo log中的内容变为OGG自有格式的文件(即trail file),并写入到源头操作系统的指定路径下

源头传输进程Dump:读取“源头抽取进程写入的trail file”,结合传输进程的参数文件,发送需要同步的数据到目的端,在目的端是由server 进程负责写入。

目的端应用进程Replicat:读取目的端操作系统的指定路径下的trail file,结合应用进程的参数文件,形成sql语句,在目的端db上执行这些sql语句。

 

二、Extract Process


创建Extract Process

Step1. 添加extract程序

GGSCI (gavinprod.com) 51> add extract ext2, tranlog, begin now EXTRACT added.

Step2. 定义extract目录

GGSCI (gavinprod.com) 52> add exttrail /opt/oracle/ggate/dirdat/ld, extract ext2 EXTTRAIL added.

Step3. 定义extract参数

edit params ext1

GGSCI (gavinprod.com) 19> edit params EXT2
extract ext2
userid ggate@gavinprod, password oracle exttrail /opt/oracle/ggate/dirdat/ld ddl include mapped objname source_prod.*; table source_prod.*;

 

三、Dump Process


创建Dump Process

Step1. 添加dump程序

GGSCI (gavinprod.com) 60> add extract dmp2,exttrailsource /opt/oracle/ggate/dirdat/ld EXTRACT added.

Step2. 定义dump目录

GGSCI (gavinprod.com) 62> add rmttrail /opt/oracle/ggate/dirdat/ld, extract dmp2 RMTTRAIL added.

Step3. 定义dump参数

复制代码
复制代码
GGSCI (gavinprod.com) 71> view params DMP2

extract dmp2
userid ggate@gavinprod, password oracle rmthost odellprod.com, mgrport 7809 rmttrail /opt/oracle/ggate/dirdat/lt passthru table source_prod.*;
复制代码
复制代码

 

四、Replicat Process


创建Replicat Process

Step1. 添加replicat程序

GGSCI (odellprod.com) 8> add replicat rep2, exttrail /opt/oracle/ggate/dirdat/ld, checkpointtable ggate.checkpoint REPLICAT added.

Step2. 定义replicat参数

复制代码
复制代码
GGSCI (odellprod.com) 11> view params REP2

replicat rep2
ASSUMETARGETDEFS
userid ggate@odellprod,password oracle discardfile /opt/oracle/ggate/dirdat/rep2_discard.txt, append, megabytes 10 map source_prod.*, target target_prod.*;
复制代码
复制代码

 

五、测试


1. 在源数据端,创建测试数据

复制代码
复制代码
CREATE TABLE source_prod.bxj_test_ogg_dump
(
   test_date          DATE,
   test_description   VARCHAR2 (100) ); INSERT INTO source_prod.bxj_test_ogg_dump VALUES (sysdate,'test goldendate data transfer by extract/dump/replicat');
复制代码
复制代码

2. Source Database,进程和文件

复制代码
复制代码
GGSCI (gavinprod.com) 17> info all

Program     Status      Group Lag at Chkpt Time Since Chkpt MANAGER RUNNING EXTRACT RUNNING DMP2 00:00:00 00:00:07 EXTRACT RUNNING EXT1 00:00:00 00:00:08 EXTRACT RUNNING EXT2 00:00:00 00:00:06
复制代码
复制代码

2. Target Database,进程和文件 

复制代码
复制代码
GGSCI (odellprod.com) 6> info all

Program     Status      Group Lag at Chkpt Time Since Chkpt MANAGER RUNNING REPLICAT RUNNING REP1 00:00:00 00:00:03 REPLICAT RUNNING REP2 00:00:00 00:00:03 
复制代码
复制代码

3. Checkpoint表




Thanks and Regards

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值